Tool recommendations#
If you’re familiar with Python packaging and installation, and just want to know what tools are currently recommended, then here it is.
Application dependency management#
Use pip in a secure manner to install a Python application and its dependencies during deployment.
Use virtualenv or venv to isolate application-specific dependencies from a shared Python installation. [4]
Use pip-tools, Pipenv, or poetry to generate the fully-specified application-specific dependencies, when developing Python applications.
Installation tool recommendations#
Use pip to install Python packages from PyPI. [1] [2] Depending on how pip is installed, you may need to also install wheel to get the benefit of wheel caching. [3]
Use virtualenv or venv to isolate project-specific dependencies from a shared Python installation. [4]
If you’re looking for management of fully integrated cross-platform software stacks, consider:
Packaging tool recommendations#
Use Setuptools to define projects. [5] [6]
Use build to create Source Distributions and wheels.
If you have binary extensions and want to distribute wheels for multiple platforms, use cibuildwheel as part of your CI setup to build distributable wheels.
Publishing platform migration#
The original Python Package Index implementation (previously hosted at pypi.python.org) has been phased out in favour of an updated implementation hosted at pypi.org.
See Migrating to PyPI.org for more information on the status of the migration, and what settings to change in your clients.