2017-02-14 3 views
1

Mein virtualenv ist derzeit auf Python 3.5.0 konfiguriert, während das Paket, das ich brauche, nur 2.7 unterstützt. Ich brauche eine Möglichkeit, meine Python-Laufzeit in meinem virtualenv auf 2.7 herabzustufen.Downgrade virtualenv auf 2.7 von 3.5.3

Ich habe beide Versionen zur Verfügung: Erste ist in meinem virtualenv, zweite ist computerweit.

(project) me-Air:element me$ python -V 
Python 3.5.0 

me-Air:element me$ python -V 
Python 2.7.10 
+2

die virtualenv löschen und (diesmal für 2.7) wieder herzustellen? – yedpodtrzitko

+0

Ja, das ist, wie ich es gehen werde: rmvirtualenv yourproject, mkvirtualenv -p/Ihre/python27 yourproject-27 – PyNico

+0

Sie können ein virtualenv nicht downgrade, müssen Sie ein neues erstellen. Wenn du auf einem Mac bist, installiere ein separates Python 2 mit 'brew' und verwende dann deine isolierte Python-Installation, um' pip install virtualenv' zu installieren. – daveruinseverything

Antwort

2

Sie können virtualenv nicht "downgrade".

Sie müssen eine neue erstellen, Sie müssen Ihre aktuelle nicht unbedingt löschen, es sei denn, Sie möchten, dass der virtualenv den gleichen Namen wie Ihre aktuelle hat.

virtualenv -p /usr/bin/python2.7 <path/to/new/virtualenv/>

Da Ihr Problem erfordert sie sind es viele Möglichkeiten, dort integriert werden, um zu tun, verwenden Sie subprocess, was Sie mit dem Python 2.7 Code müssen zu tun, und die Ausgabe zurück zu Ihrem Python 3-Code übertragen.

Sie können auch Rabbit MQ Queues verwenden, um Daten zu und von den Programmen zu übertragen, die verschiedene Versionen von Python ausführen.

1

Eine andere Methode, ein virtualenv an eine bestimmte Python-Version anzuheften, besteht darin, es über das Flag -m in der ausführbaren Python-Datei auszuführen. Z.B.

python2 -m virtualenv ./venv 

Ebenso, wenn Sie eine Python 3 virtualenv, wollten Sie würden dies auszuführen:

python3 -m virtualenv ./venv