2013-05-28 6 views
6

I this Paket in einen virtualenv mit virtualenvwrapper und pip mit diesem Befehl bin installieren:Paket wird über pip in falsch (src) Verzeichnis anstelle von Website-Paketen installiert

pip install -e git+git://github.com/mr-stateradio/django-exchange.git#egg=django_exchange-master 

Interessanter das Paket dann in eine platziert src-Ordner und nicht in den Site-Packages-Ordner, den ich erwartet hätte. Das Paket wird in diesem Ordner abgelegt:

<path-to-my-virtual-env>/testenv/src/django-exchange-master/exchange 

Statt dessen:

<path-to-my-virtual-env>/testenv/lib/python2.7/site-packages 

Ich gehe davon aus, etwas stimmt nicht mit dem pip installieren Befehl Ich verwende oder mit dem setup.py des Pakets.

+2

LoL. Stackoverflow ist wirklich ein toller Ort. Die Details in deiner Frage helfen mir, das gleiche Problem zu lösen, das mich stundenlang beschäftigt hat. –

Antwort

9

Die Option -e weist pip an, Pakete im Modus "editable" zu installieren. Wenn Sie die Option -e entfernen, installiert pip das Paket in <venv path>/lib/Python_version/site-packages. Vergessen Sie nicht, die Pakete innerhalb <venv path>/src zu entfernen, da Python zuerst die Pakete innerhalb <venv path>/src sucht.

Pip unterstützt die Installation von Git, Mercurial, Subversion und Bazaar und erkennt den Typ des VCS mit den folgenden URL-Präfixen: "git +", "hg +", "bzr +", "svn +".

beispiel

$ pip install -e git+https://git.repo/some_pkg.git#egg=SomePackage   # from git 
$ pip install -e hg+https://hg.repo/some_pkg.git#egg=SomePackage   # from mercurial 
$ pip install -e svn+svn://svn.repo/some_pkg/trunk/#egg=SomePackage   # from svn 
$ pip install -e git+https://git.repo/[email protected]#egg=SomePackage # from 'feature' branch 

VCS-Projekte können in bearbeitbare Modus installiert werden (die -Editierbare Option) oder nicht.

  • Für bearbeitbare installiert, ist der Klon Standort standardmäßig <venv path>/src/SomeProject in virtuellen Umgebungen und <cwd>/src/SomeProject für globale Installationen. Die Option –src kann verwendet werden, um diesen Standort zu ändern.
  • Bei nicht bearbeitbaren Installationen wird das Projekt lokal in einem temporären Verzeichnis erstellt und dann normal installiert. `
+0

Sollte --src in pip sein, denke ich? 'pip installieren -r ./requirements.txt --no-cache --src ~/.virtualenvs/PROJECTNAME/src' – ncrmro

Verwandte Themen