What is dh-virtualenv¶
dh-virtualenv
is a tool that aims to combine Debian packaging with
self-contained virtualenv based Python deployments. To do this, the
package extends debhelper’s sequence by providing a new command in sequence,
dh_virtualenv
, which effectively replaces following commands
from the sequence:
dh_auto_install
dh_python2
dh_pycentral
dh_pysupport
In the sequence the dh_virtualenv
is inserted right after
dh_perl
.
Changelog¶
Following list contains most notable changes by version. For full list consult the git history of the project.
1.0¶
- Backwards incompatible Change the default install root to
/opt/venvs
. This is due to the old installation root (/usr/share/python
) clashing with Debian provided Python utilities. To maintain the old install location, useDH_VIRTUALENV_INSTALL_ROOT
and point it to/usr/share/python
. - Backwards incompatible By default, do not run setup.py test
upon building. The
--no-test
flag has no longer has any effect. To get the old behaviour, use the--setuptools-test
flag instead. - Backwards incompatible Buildsystem: Move files into build folder in install step instead of build step. Thanks to Ludwig Hähne for the patch!
- Deprecate
--pypi-url
in favour of--index-url
- Support upgrading pip to the latest release with
--upgrade-pip
flag. - Buildsystem: Add support for
DH_UPGRADE_PIP
,DH_UPGRADE_SETUPTOOLS
andDH_UPGRADE_WHEEL
. Thanks to Kris Kvilekval for the implementation! - Buildsystem: Add support for custom requirements file location
using
DH_REQUIREMENTS_FILE
and for custompip
command line arguments usingDH_PIP_EXTRA_ARGS
. Thanks to Einar Forselv for implementing! - Fixing shebangs now supports multiple interpreters. Thanks Javier Santacruz!
- Allow a custom pip executable via
--pip-tool
flag. Thanks Anthony Sottile for the implementation! - Fix handling of shebang lines for cases where interpreter was wrapped in quotes. Thanks to Kamil Niechajewicz for fixing!
- Support extra arguments to be passed at virtualenv using
--extra-virtualenv-arg
. Thanks to Julien Duponchelle for the fix.
0.11¶
- Allow passing explicit filename for requirements.txt using
--requirements
option. Thanks to Eric Larson for implementing! - Ensure that venv is configured before starting any daemons. Thanks to Chris Lamb for fixing this!
- Make sure fix_activate_path updates all activate scripts. Thanks to walrusVision for fixing this!
0.10¶
- Backwards incompatible Fix installation using the built-in
virtual environment on 3.4. This might break installation on Python
versions prior to 3.4 when using
--builtin-venv
flag. Thanks to Elonen for fixing! - Honor
DH_VIRTUALENV_INSTALL_ROOT
in build system. Thanks to Ludwig Hähne for implementing! - Allow overriding virtualenv arguments by using the
DH_VIRTUALENV_ARGUMENTS
environment variable when using the build system. Thanks to Ludwig Hähne for implementing! - Add option to skip installation of the actual project. In other
words using
--skip-install
installs only the dependencies of the project found in requirements.txt. Thanks to Phillip O’Donnell for implementing! - Support custom installation suffix instead of the package name via
--install-suffix
. Thanks to Phillip O’Donnell for implementing!
0.9¶
- Support using system packages via a command line flag
--use-system-packages
. Thanks to Wes Mason for implementing this feature! - Introduce a new, experimental, more modular build system. See the Building packages with dh-virtualenv for documentation.
- Respect the
DEB_NO_CHECK
environment variable.
0.8¶
- Support for running triggers upon host interpreter update. This new feature makes it possible to upgrade the host Python interpreter and avoid breakage of all the virtualenvs installed with dh-virtualenv. For usage, see the the Tutorial. Huge thanks to Jürgen Hermann for implementing this long wanted feature!
- Add support for the built-in
venv
module. Thanks to Petri Lehtinen! - Allow custom
pip
flags to be passed via the--extra-pip-arg
flag. Thanks to @labeneator for the feature.
0.7¶
- Backwards incompatible Support running tests. This change
breaks builds that use distutils. For those cases a flag
--no-test
needs to be passed. - Add tutorial to documentation
- Don’t crash on debbuild parameters
-i
and-a
- Support custom source directory (debhelper’s flag
-D
)
0.6¶
First public release of dh-virtualenv