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

2voto

jkhosla Punkte 1647

Für diejenigen, die Probleme bei der Arbeit mit Anaconda3 (Python 3) haben.

Sie könnten verwenden

conda create -n name_of_your_virtualenv python=python_version 

Um die Umgebung zu aktivieren (Linux, MacOS)

source activate name_of_your_virtualenv

Für Windows

activate name_of_your_virtualenv

2voto

Dadaso Zanzane Punkte 5639

Es hat bei mir funktioniert

virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3

1voto

Ich wollte Python 2.7.5 als Standardversion auf Centos 7 behalten, aber Python 3.6.1 in einer virtuellen Umgebung neben anderen virtuellen Umgebungen in Python 2.x laufen lassen.

Ich habe den folgenden Link als beste Lösung für die neueste Python-Version (Python 3.6.1) gefunden: https://www.digitalocean.com/community/tutorial_series/how-to-install-and-set-up-a-local-programming-environment-for-python-3. Es zeigt die Schritte für verschiedene Plattformen, aber die Grundschritte sind

  1. Installieren Sie python3.x (falls nicht vorhanden) für Ihre Plattform
  2. Installieren Sie python3.x-devel für Ihre Plattform
  3. Erstellen Sie eine virtuelle Umgebung in Python 3.x (zum Beispiel $ python3.6 -m venv virenv_test_p3/ )
  4. Aktivieren Sie die Testumgebung für Python 3.x (zum Beispiel source virenv_test_p3/bin/activate)
  5. Installieren Sie die Pakete, die Sie in Ihrer neuen Python 3-Virtualumgebung verwenden möchten und die unterstützt werden (zum Beispiel pip install Django==1.11.2)

1voto

Vlad Bezden Punkte 71128

Für diejenigen von Ihnen, die pipenv verwenden und eine bestimmte Version installieren möchten:

pipenv install --python 3.6

1voto

Aman Madan Punkte 93

Ich habe alle oben genannten Dinge ausprobiert, aber es hat immer noch nicht funktioniert. Also als letzten Ausweg habe ich einfach das Anaconda neu installiert, das Virtualenv neu installiert... und es hat funktioniert.

Amans-MacBook-Pro:~ amanmadan$ pip install virtualenv
Sie verwenden pip Version 6.1.1, jedoch ist Version 8.1.2 verfügbar.
Sie sollten ein Upgrade mit dem Befehl 'pip install --upgrade pip' in Erwägung ziehen.
Collecting virtualenv
  Downloading virtualenv-15.0.3-py2.py3-none-any.whl (3.5MB)
    100% || 3.5MB 114kB/s 
Installation der gesammelten Pakete: virtualenv
Erfolgreich installiert virtualenv-15.0.3
Amans-MacBook-Pro:python amanmadan$ virtualenv my_env
Neue Python-Ausführbare in /Users/amanmadan/Documents/HadoopStuff/python/my_env/bin/python
Installation von setuptools, pip, wheel...erledigt.
Amans-MacBook-Pro:python amanmadan$

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