Python Packaging User Guide
Tool Recommendations
Installation Tool Recommendations
Packaging Tool Recommendations
Installing Packages
Requirements for Installing Packages
Creating Virtual Environments
Use pip for Installing
Installing from PyPI
Upgrading packages
Installing Cached Wheels
Installing to the User Site
Requirements files
Installing from VCS
Installing from other Indexes
Installing from a local src tree
Installing from local archives
Installing Prereleases
Installing Setuptools “Extras”
Packaging and Distributing Projects
Requirements for Packaging and Distributing
Configuring your Project
Initial Files
setup.py
setup.cfg
README.rst
MANIFEST.in
<your package>
setup() args
name
version
description
url
author
license
classifiers
keywords
packages
install_requires
package_data
data_files
scripts
entry_points
Working in “Development Mode”
Packaging your Project
Source Distributions
Wheels
Universal Wheels
Pure Python Wheels
Platform Wheels
Uploading your Project to PyPI
Create an account
Register your project
Upload your distributions
Advanced Topics
Binary Extensions
An overview of binary extensions
Use cases
Disadvantages
Alternatives to handcoded accelerator modules
Alternatives to handcoded wrapper modules
Alternatives for low level system access
Implementing binary extensions
Building binary extensions
Publishing binary extensions
Supporting multiple Python versions
Automated Testing and Continuous Integration
Tools for single-source Python packages
What’s in Which Python?
Patching & Forking
PyPI mirrors and caches
Caching with pip
Caching with devpi
Complete mirror with bandersnatch
Single-sourcing the Project Version
install_requires vs Requirements files
install_requires
Requirements files
pip vs easy_install
Wheel vs Egg
Installing Scientific Packages
Building from source
Linux distribution packages
Windows installers
Mac OS X installers and package managers
SciPy distributions
The conda cross-platform package manager
Application Deployment
Overview
Supporting multiple hardware platforms
OS Packaging & Installers
Windows
Application Bundles
Configuration Management
Multi-version Installs
Building Binary Wheels for Windows using Appveyor
Background
Setting Up
Adding Appveyor support to your project
appveyor.yml
Support scripts
Access to the built wheels
Additional Notes
Automatically uploading wheels
External dependencies
Support scripts
Project Summaries
PyPA Projects
bandersnatch
distlib
packaging
pip
Python Packaging User Guide
setuptools
twine
virtualenv
Warehouse
wheel
Non-PyPA Projects
bento
buildout
conda
devpi
Hashdist
pex
Standard Library Projects
distutils
venv
Glossary
How to Get Support
Python Packaging User Guide
Docs
»
<no title>
Edit on GitHub
This content has moved to the following locations:
Installing Packages
Packaging and Distributing Projects
Read the Docs
v: latest
Versions
latest
Downloads
pdf
htmlzip
epub
On Read the Docs
Project Home
Builds
Free document hosting provided by
Read the Docs
.