64 lines
1.4 KiB
Markdown
64 lines
1.4 KiB
Markdown
|
# Using pipenv
|
||
|
|
||
|
For a quick summary read: https://docs.pipenv.org/basics/
|
||
|
|
||
|
## Prerequisites
|
||
|
|
||
|
* python-libtorrent
|
||
|
* pip
|
||
|
* pipenv
|
||
|
|
||
|
## Install pipenv and packages
|
||
|
|
||
|
Install Pipenv and upgrade pip:
|
||
|
pip install -U pip pipenv
|
||
|
|
||
|
On Ubuntu:
|
||
|
sudo -H pip install -U pip pipenv
|
||
|
|
||
|
In order to have access to system libtorrent we use `--site-packages` and
|
||
|
enable `PIP_IGNORE_INSTALLED`. Hopefully libtorrent will be available as a
|
||
|
pypi package at somepoint.
|
||
|
|
||
|
See: https://docs.pipenv.org/advanced/#working-with-platform-provided-python-components
|
||
|
|
||
|
Note you can `export PIP_IGNORE_INSTALLED=1` to save prefixing each time. It
|
||
|
has been included in commands below to denote requirement.
|
||
|
|
||
|
### Users
|
||
|
|
||
|
PIP_IGNORE_INSTALLED=1 pipenv --site-packages install
|
||
|
|
||
|
### Developers
|
||
|
|
||
|
PIP_IGNORE_INSTALLED=1 pipenv --site-packages install --dev
|
||
|
|
||
|
### Test libtorrent installed
|
||
|
|
||
|
pipenv run python -c 'import libtorrent as lt; print(lt.version)'
|
||
|
|
||
|
### Bash shell completion
|
||
|
|
||
|
To enable Pipenv shell completion for commands:
|
||
|
|
||
|
eval "$(pipenv --completion)"
|
||
|
|
||
|
## Running commands
|
||
|
|
||
|
You can either enter the Pipenv virtualenv shell:
|
||
|
|
||
|
pipenv shell --fancy
|
||
|
./setup.py build
|
||
|
|
||
|
Note: To check whether you are in a venv use `which python`.
|
||
|
|
||
|
or prefix commands with the `pipenv run` option:
|
||
|
|
||
|
pipenv run ./setup.py build
|
||
|
|
||
|
## Developing Deluge
|
||
|
|
||
|
This is the equivalent to `setup.py develop` but uses the pipenv environment:
|
||
|
|
||
|
pipenv install --dev -e .
|