879 Stimmen

Verwendung von Python 3 in virtualenv

Mit virtualenv führe ich meine Projekte mit der Standardversion von Python (2.7) aus. Bei einem Projekt muss ich jedoch Python 3.4 verwenden.

Ich habe brew install python3 benutzt, um es auf meinem Mac zu installieren. Wie erstelle ich jetzt ein virtualenv, das die neue Version verwendet?

z.B. sudo virtualenv envPython3

Wenn ich versuche:

virtualenv -p python3 test

bekomme ich:

Virtualenv wird ausgeführt mit Interpreter /usr/local/bin/python3
Grundprefix verwenden '/usr/local/Cellar/python3/3.4.0_1/Frameworks/Python.framework/Versions/3.4'
Neues Python-Ausführbares in test/bin/python3.4
Auch Ausführbares in test/bin/python erstellen
Fehler beim Importieren des Site-Moduls
Traceback (zuletzt aufgerufener Anruf):
  Datei "/Users/user/Documents/workspace/test/test/bin/../lib/python3.4/site.py", Zeile 67, in 
    import os
  Datei "/Users/user/Documents/workspace/test/test/bin/../lib/python3.4/os.py", Zeile 634, in 
    von _collections_abc import MutableMapping
ImportError: Kein Modul namens '_collections_abc'
FEHLER: Das Ausführbare test/bin/python3.4 funktioniert nicht
FEHLER: Es nimmt an, dass sys.prefix '/Users/user/Documents/workspace/test' ist (sollte '/Users/user/Documents/workspace/test/test' sein)
FEHLER: Virtualenv ist nicht mit diesem System oder Ausführbaren kompatibel

38voto

Kohn1001 Punkte 2655

Dies ist alles, was Sie brauchen, um eine virtuelle Umgebung in Python / Python3 auszuführen

Wenn virtualenv nicht installiert ist, führen Sie Folgendes aus

pip3 install virtualenv

Jetzt ausführen:

virtualenv -p python3  # Sie können anstelle von  den vollständigen Pfad angeben, um die Dateien an einem anderen Ort als dem aktuellen Speicherort zu installieren

Manchmal schlägt der Befehl virtualenv fehl; in diesem Fall verwenden Sie dies:

python3 -m virtualenv   # Sie können anstelle von  den vollständigen Pfad angeben, um die Dateien an einem anderen Ort als dem aktuellen Speicherort zu installieren

Aktivieren Sie nun die virtuelle Umgebung:

source /bin/activate

Oder:

source `pwd`//bin/activate

Jetzt ausführen

which python

Sie sollten den vollständigen Pfad zu Ihrem Verzeichnis und den Suffix /bin/python sehen

Zum Verlassen der virtuellen Umgebung führen Sie Folgendes aus:

deactivate 

Zur Problembehebung bei der Python-Position gehen Sie zu hier

25voto

Kiran Jasvanee Punkte 5852

Sie können beim Erstellen einer Umgebung eine bestimmte Python-Version angeben.
Es ist im virtualenv.py erwähnt

virtualenv --python=python3.5 envname

In einigen Fällen muss dies der vollständige Pfad zur ausführbaren Datei sein:

virtualenv --python=/Users/username/.pyenv/versions/3.6.0/bin/python3.6 envname

Wie -p funktioniert

parser.add_option(
    '-p', '--python',
    dest='python',
    metavar='PYTHON_EXE',
    help='Der zu verwendende Python-Interpreter, z.B. --python=python3.5 verwendet den python3.5 '
    'Interpreter, um die neue Umgebung zu erstellen. Der Standardwert ist der Interpreter, mit dem '
    'virtualenv installiert wurde (%s)' % sys.executable)

16voto

Aziz Alto Punkte 16611

Ich hatte dieselbe FEHLER-Meldung. tbriskers Lösung hat in meinem Fall nicht funktioniert. Stattdessen hat dies das Problem gelöst:

$ python3 -m venv .env

9voto

sage Punkte 4490

Zusätzlich zu den anderen Antworten empfehle ich zu überprüfen, welche Instanz von virtualenv du ausführst:

which virtualenv

Wenn dabei etwas in /usr/local/bin herauskommt, dann ist es möglich - sogar wahrscheinlich - dass du virtualenv installiert hast (möglicherweise unter Verwendung einer Instanz von easy_tools oder pip), ohne den Paketmanager deines Systems zu verwenden (in diesem Fall brew des OPs). Das war mein Problem.

Vor Jahren - als ich noch ignorant war - hatte ich virtualenv installiert und es maskierte das virtualenv, das mein System bereitstellte.

Nachdem ich dieses alte, fehlerhafte virtualenv entfernt hatte, waren meine Probleme verschwunden.

9voto

Hariharan AR Punkte 1142

Die unten stehenden einfachen Befehle können eine virtuelle Umgebung mit der Version 3.5 erstellen

apt-get install python3-venv

python3.5 -m venv 

wenn Sie die virtuelle Umgebungs Version als 3.6 möchten

python3.6 -m venv

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X