pip, virtualenv & virtualenvwrapper
site-packages
Packages, die nicht zur Standard-Library gehören, werden ins site-packages-Verzeichnis installiert.
- /Library/Python/2.7/site-packages (Mac)
- /usr/local/lib/python2.7/site-packages (Debian)
Der Suchpfad kann außerdem noch beeinflußt werden durch:
- $PYTHONPATH
- *.pth
distutils / setuptools / distribute
distutils ist der ungeliebte Default-Installer aus der Standard-Lib
setuptools monkey patches distutils
distribute ist ein fork von setuptools ← this is what you want!
Die Installations-Pfade für Packages und Binaries lassen sich hier konfigurieren (Beispiel für Mac, Linux-Varianten analog, wenn notwendig):
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/distutils.cfg
[install] install_lib = /Library/Python/2.7/site-packages/ install_scripts = /usr/local/stow/python2.7/bin/ install_data = /usr/local/stow/python2.7/
Alle folgenden Tools haben gute und prägnante Doku auf der jeweiligen Homepage.
pip
pip läßt sich per easy_install installieren
# easy_install distribute # easy_install pip
oder per der Anleitung von http://pip-installer.org .
Ab dann ist easy_install nicht mehr notwendig.
pip install plist (installiert automatisch von http://pypi.python.org/ )
pip install hg+ssh://hg@bitbucket.org/hopthrisC/plist#egg=plist
pip install -e hg+ssh://hg@bitbucket.org/hopthrisC/plist#egg=plist
pip uninstall plist
pip freeze > requirements.txt
pip install -r requirements.txt
virtualenv
virtualenv baut ein abgeschlossenes System von Python-Interpreter, Standard-Lib und Packages, daß vollkommen unabhängig vom restlichen System funktioniert.
$ virtualenv ENV $ source ENV/bin/activate (ENV)$ python >>> import sys; print sys.prefix '/Users/foo/ENV/bin/..' (ENV)$ pip install foo $ deactivate
Zwei nützliche Umgebungsvariablen sind:
export PIP_REQUIRE_VIRTUALENV=true export VIRTUALENV_USE_DISTRIBUTE=true
Man kann die Virtuelle Umgebung auch nutzen, indem man direkt den Python-Interpreter aufruft.
$ ENV/bin/python >>> import sys; print sys.prefix '/Users/foo/ENV/bin/..'
virtualenvwrapper
Dieses Tool erweitert virtualenv um einige nützliche Voreinstellungen und Kommandos.
Konfiguration:
export PROJECT_HOME=~/Projects export WORKON_HOME=~/.virtualenvs
Die Doku hat eine kompakte Übersicht der verfügbaren Befehle. workon hat Tab-Completion!
misc