[Python-de] Wie einzelne Module aus site-packages in virtualenv übernehmen?

mmueller at python-academy.de mmueller at python-academy.de
Do Aug 22 17:12:01 CEST 2013


Zitat von Hartmut Goebel <h.goebel at goebel-consult.de>:

> Hallo zusammen,
>
> ich baue eben eine Entwicklungsumgebung für
> https://github.com/coherence-project/. Das Package benutzt u.a. Twisted,
> ein Teilprojekt gar PyQt. Diese Packages sind bei mir bereits in
> site-packages installiert.
>
> Nun möchte ich ein virtualenv aufsetzen, und ausgewählte Packages (eben
> oben genannte) dort verfügbar machen. damit möchte ich vermeiden, dass
> diese Pakete jedesmal compiliert werden müssen -- und ich die gesamten
> Entwickler-Pakete für Qt installieren muss.
>
> "virtualenv --system-site-packages" stellt aber alle Packages im
> vrtualenv zur Verfügung. Ich möchte nur ausgewählte haben.

Mit virtualenvwrapper  
(http://virtualenvwrapper.readthedocs.org/en/latest/install.html)
lässt sich einfach mit toggleglobalsitepackages zwischen der Nutzung  
der globalen
Pakete umschalten.

Wenn die globalen Pakete eingeschaltet sind, sucht Python zuerst in  
der virtuellen
Umgebung. Wenn Python das Paket dort nicht findet, geht es in das globale
site-packages. Wenn also das Paket xyz sowohl global als auch in der  
Umgebung installiert
ist, kommt das aus der Umgebung zum Zug. Ist es nicht dort nimmt  
Python das globale.

Wenn die globalen Pakete sichtbar sind versucht pip aber auch dort zu  
installieren.

Mein Vorschlag:

1. Mit toggleglobalsitepackages globale Pakete ausschalten.
2. Gewünschtes Paket mit pip in die virtuelle Umgebung installieren.
3 Mit toggleglobalsitepackages globale Pakete wieder einschalten.

Jetzt sollte das gerade installierte Paketen aus der virtuelle  
Umgebung und die
anderen aus den globalen Paketen kommen. Und zwar auch dann, wenn ein  
gleichnamiges
Paket xyz schon global vorhanden ist.

Vielleicht hilft dir das ja weiter.

Viele Grüße
Mike



>
> Hat jemand ein paar Code-Snippsel für mich, oder ein kleines Tool?
>
> Schon mal herzlichen Dank im Voraus.
>
> --
> Schönen Gruß
> Hartmut Goebel
> Dipl.-Informatiker (univ), CISSP, CSSLP
>
> Goebel Consult
> http://www.goebel-consult.de
>
> Monatliche Kolumne:
> http://www.cissp-gefluester.de/2012-09-steht-ein-manta-fahrer-vor-der-uni
> Blog: http://www.goebel-consult.de/blog/20050315
>
> Goebel Consult ist Mitglied bei http://www.7-it.de/





Mehr Informationen über die Mailingliste python-de