Python packaging guide
- Use pip to install Python packages from PyPI. You may need to also install wheel to get the benefit of wheel caching.
- Use virtualenv, or pyvenv to isolate application specific dependencies from a shared Python installation.
- If you’re looking for management of fully integrated cross-platform software stacks, consider buildout (primarily focused on the web development community) or Hashdist, or conda (both primarily focused on the scientific community).
You might choose to use easy_install (from setuptools), e.g. if you need to install from Eggs (which pip doesn’t support).
- Use setuptools to define projects and create Source Distributions.
- Use the bdist_wheel setuptools extension available from the wheel project to create wheels. This is especially beneficial, if your project contains binary extensions.
- Use twine for uploading distributions to PyPI.