virtualenvwrapper
versteht die VIRTUALENVWRAPPER_VIRTUALENV
Umgebungsvariable, müssen Sie es auf die virtualenv
entsprechend der Python-Version setzen Sie verwenden. Zum Beispiel:
export VIRTUALENVWRAPPER_VIRTUALENV=virtualenv3
Dies ist erforderlich, da virtualenvwrapper
virtualenv
als Shell-Skript ausgeführt (ohne python2
python3
oder in dem vor dem Befehl hinzuzufügen).
Auf diese Weise wird das virtualenv
Skript mit dem in seinem Shebang definierten Interpreter ausgeführt (#!
).
Die meisten Linux-Distributionen bieten zwei Pakete: virtualenv2
und virtualenv3
jeweils ein Skript:
virtualenv2
:
#!/usr/bin/python2
import virtualenv
virtualenv.main()
virtualenv3
:
#!/usr/bin/python3
import virtualenv
virtualenv.main()
Auf einem Mac Sie brew
für die python
verwenden Installation. Daher ist nichts falsch daran, das Skript virtualenv
in zwei Instanzen zu kopieren: vritualenv2
und virtualenv3
und ändern Sie den Shebang in die richtige Python-Version.
(Sie müssen die virtualenv
Eier, durch pip
für jede Python-Version installieren.)
'export VIRTUALENVWRAPPER_VIRTUALENV = virtualenv3'? – grochmal
Wie könnte ich "virtualenv3" definieren? – anquadros
Um 'virtualenv' für' python2' und 'python3' zu verwenden, benötigen Sie zwei' virtualenv' Skripte. Die erste Zeile von 'virtualenv' ist oft' #!/Usr/bin/python2' oder '#!/Usr/bin/python3' (das Eingabeskript für virtualenv ist überraschend kurz). Mehrere Distributionen machen tatsächlich zwei Pakete "virtualenv2" und "vraulenv3". Aber, da du auf einem Mac bist, bekommst du das durch 'brew', glaube ich, deshalb kannst du' virtualenv' -> 'virtualenv3' sicher kopieren und die erste Zeile in' #!/Usr/bin/python3' ändern – grochmal