Ich möchte ein virtualenv
mit einem anderen als Ausgangspunkt erstellen, ist das möglich?Kann ein virtualenv von einem anderen erben?
Ich habe Fälle im Auge zu verwenden:
Lassen Sie uns sagen, ich habe eine zwei
virtualenv
eine für die Produktion und eine für die Entwicklung. Die Entwicklungsumgebung benötigt die gleichen Pakete wie die Produktionsumgebung, benötigt aber andere, die ich in der Produktionsumgebung nicht haben möchte. Ich möchte die üblichen Pakete nicht zweimal installieren.ich mit einer Entwicklungsversion eines Pakets experimentieren wollen, sagen
matplotlib
zum Beispiel. Die Entwicklungsversion des Pakets hat dieselben Anforderungen wie die stabile Version. Also erstelle ich einevirtualenv
namensmatplotib_stable
und installiere die Anforderungen und die stabile Version. Dann erstelle ich einen zweitenvirtualenv
namensmatplotlib_dev
und verwendematplotlib_stable
als Startpunkt (für diematplotlib
Anforderungen) aber dann installiere ich die Entwicklungsversion.
How do I install from a local cache with pip? scheint die Frage der Download-Pakete zu adressieren, aber ich glaube nicht, es mit modifizierenden sys.path
beschäftigt.
Wenn ich installierte das gleiche Paket mit unterschiedlichen Versionen auf beiden virtualenvs, fand heraus, dass ich die Außen env (ENV 1) Vorrang vor fand das interne env (ENV2). Sieht so aus, als ob add2virtualenv seine Pfade früher in die sys.path-Importliste stellt. Eine einfache Lösung besteht darin, dem obigen Befehl zu folgen: 'add2virtualenv $ WORKON_HOME/ENV2/lib/python2.6/site-packages' und dann funktioniert es wie ein Zauber. – Yonatan
@Yann Danke Yann! Ich installiere pylint in ENV1, dann 'add2virtualenv $ WORKON_HOME/ENV1/lib/python3.4/site-packages', aber pylint funktioniert nicht! – HelloNewWorld
@HelloNewWorld Ich habe 'virtualenv' und' vertualenvwrapper' schon lange nicht mehr benutzt, warum schreibst du keine neue Frage zu diesem Thema? – Yann