2012-07-11 18 views

Antwort

16

Wenn Sie es wirklich so machen müssen, können Sie einfach die Dateien, die global installiert werden, direkt in Ihren virtualenv kopieren. Zum Beispiel konnte ich pycurl nicht arbeiten, da die erforderlichen Bibliotheken nicht installiert wurden, aber apt-get install python-pycurl tat. Also habe ich folgendes:

sudo apt-get install python-pycurl 
cp /usr/lib/python2.7/dist-packages/pycurl* ~/.virtualenvs/myenv/lib/python2.7/site-packages/ 

Das sagte Installation wurde Zugabe /usr/lib/python2.7. Also habe ich in dieses Verzeichnis nach einer Site-Pakete oder dist-Pakete mit pycurl geschaut, nachdem ich die Dateien angeschaut habe, kopierte ich sie in mein virtualenv. Sie müssten auch alle ausführbaren Dateien von bin in das bin-Verzeichnis Ihrer virtualenv kopieren.

Auch eine pip install -r requirements.txt läuft erfolgreich Pyracl in dort gefunden und nur übersprungen, als ob ich es über Pip installiert hatte.

+0

Ja. Ich fand die gleiche Entscheidung - nur einen Link (lns) zu Bibliotheken, der über apt-get installiert wurde. –

+0

Dies funktioniert nicht für PyQt5 in Python 3. Gibt "ImportError: Kein Modul mit dem Namen 'sip' zurück, wenn versucht wird, QWidgets zu importieren – Moustache

5

Warum möchten Sie das tun? Der springende Punkt ist Sachen zu vermeiden, wie das zu tun ...

virtualenv whatever 
cd whatever 
bin/pip install dbus-python 

Sie können auch --no-site-packages zu virtualenv angeben wählen, um es zu halten zusätzlichen isoliert.

+2

Aktuelle Versionen von virtualenv deprecate --no-site-packages, da dies der neue Standard ist. –

+0

@ColinDunklau Das war mir nicht bewusst und gut zu wissen. Vielen Dank. –

+0

Danke für Ihre Antwort. Aber ich meine den Fall, wenn wir pip install nicht benutzen können - einfach ein Repository im .deb Format haben - was soll ich dann machen? –

3

zunächst die dbus Entwicklungsbibliotheken installieren (Sie einige andere Entwickler-Bibliotheken müssen, aber das ist alles, was ich brauchte)

sudo apt-get install libdbus-1-dev libdbus-glib-1-dev 

nächstes mit Ihrem virtualenv aktiviert, die folgende auszuführen. Es wird scheitern, aber das ist in Ordnung.

pip install dbus-python 

Schließlich geht in Build-Verzeichnis Ihre virtualenv der und die nicht-pythonic Art und Weise installieren.

cd $VIRTUAL_ENV/build/dbus-python 
chmod +x configure 
./configure --prefix=$VIRTUAL_ENV 
make 
make install 
Verwandte Themen