Skip to content

Instantly share code, notes, and snippets.

qwcode / gist:8431828
Last active Jan 3, 2016
"Pypa Standard Docs Template"
View gist:8431828

A basic structure for Pypa project docs

why a consistent structure? in large part for making the "Python Packaging User Guide" more effective when linking and less redundant

All the projects should use the default RTD theme to match the User Guide.


qwcode / gist:6040828
Created Jul 19, 2013
vendor pkg_resources/setuptools analysis
View gist:6040828

3 problems to be solved:

  1. making pip a self-sufficient wheel installer
  2. removing the headache of users being responsible for managing the setuptools build dependency themselves (most notably a pain in non-virtualenv environments),
  3. the burden/fragility of supporting any pip version with any setuptools version.

solutions for #1:

  1. vendor pkg_resources
  2. emulate pkg_resources using the already vendored distlib (#909 )
View gist:4270246
virtualenv myVE
source myVE/bin/activate
cd myproject
pip -e .[testing] #installs project into myVE in develop mode with dependencies and the testing extras
pip install somepkg #install something else you want to try
View gist:4247512
pip install [options] <package> [<package> ...]
General Options:
-V, --version
show version and exit
View gist:4231109
bundle Create pybundles (archives containing multiple packages)
freeze Output all currently installed packages (exact versions) to stdout
help Show available commands
install Install packages
search Search PyPI
show Output installed distributions (exact versions, files) to stdout
uninstall Uninstall packages
View gist:3828762
- a new "pip install" config option that offers name-based (i.e. not url-based) caching.
- the "--download-cache" option would stay as it is, and not be altered
- the package-cache dir would just contain packages (e.g. "nose-1.2.tar.gz", or lxml-2.5[..].whl), anything you've installed while using it.
- the package-cache would be turned off by default, since the user assumes a certain amount of risk/responsibility in using it (no hash checking)
- the package-cache (if turned on) would be checked prior to using the PackageFinder (which searches pypi and findlinks)
(if the req was "nose", any nose version in the package-cache would "win", unless --upgrade is specified)
- package-cache offers an alternative to this workflow:
- pip install -d DIR PACKAGES
View gist:3828683
Usage: pip wheel [OPTIONS] PACKAGE_NAMES...
Creates wheel archives from your requirements and place into ./wheels
(requires distribute>0.6.28 and wheel)
-w --wheel-dir <DIR> //alternative dir to place wheels into
--force-rebuild //rewrite existing wheels
--unpack-only <DIR> //unpack to dir, for manual building with " bdist_wheel"
-r, --requirement <FILENAME>
-f, --find-links <URL>
qwcode / gist:3088149
Created Jul 11, 2012
non-recursive force upgrade
View gist:3088149

Upgrading a package, w/o upgrading dependencies that are already satisifed

suppose the following packages: a, b, c, d

with the following dependency relationships between their versioned distributions

  • a-1
  • b
qwcode / gist:2993698
Created Jun 26, 2012
pip install options breakdown
View gist:2993698
option Right align Center align
This This This
column column column
will will will
be be be
left right center
aligned aligned aligned