pip, virtualenv & virtualenvwrapper

site-packages

Packages, die nicht zur Standard-Library gehören, werden ins site-packages-Verzeichnis installiert.

Der Suchpfad kann außerdem noch beeinflußt werden durch:

distutils / setuptools / distribute

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.

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

Quellen

PyUGAT: Talks/VirtualEnvWrapper (last edited 2012-05-24 08:55:32 by hop)