deluge/docs/source/pipenv.md

1.4 KiB

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 .