pyvenv-3.4 Fehler: Exit-Status 1 ungleich Null zurückgegeben

58

Wenn Sie versuchen, eine virtuelle Umgebung mit dem im Lieferumfang pyvenv-3.4von 14.04 enthaltenen Code zu erstellen , wird ein Fehler ausgegeben:

Error: Command '['/some/directories/bin/python3.4', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1

Wie verwende ich pyvenv-3.4 mit Ubuntu 14.04?

Ryan
quelle
1
Wenn Sie Anaconda verwenden, das ist das Problem, das Anaconda nicht hat ensurepip: stackoverflow.com/a/39114277/1439843
Gerhard Burger

Antworten:

50

Leider wurde 14.04 mit einem kaputten ausgeliefert pyvenv. Laut diesem Launchpad-Thread wird das Problem im kommenden 14.04.1 behoben

Mit dieser Methode können Sie eine Pyvenv-Umgebung ohne pip installieren und anschließend pip manuell installieren.

pyvenv-3.4 --without-pip myvenv
source ./myvenv/bin/activate
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-3.4.4.tar.gz
tar -vzxf setuptools-3.4.4.tar.gz
cd setuptools-3.4.4
python setup.py install
cd ..
wget https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz
tar -vzxf pip-1.5.6.tar.gz
cd pip-1.5.6
python setup.py install
cd ..
deactivate
source ./myvenv/bin/activate
Ryan
quelle
Jemand schlug eine radikale get-pip.pyÄnderung vor, die in dieser Antwort verwendet werden sollte - ich denke, das ist zu viel Veränderung, aber fügen Sie bitte Ihre Lösung als neue Antwort hinzu (auch wenn Sie nur den oberen Teil dieser Antwort kopieren)!
Volker Siegel
In welchem ​​Verzeichnis befinden Sie sich, wenn Sie diese Befehle ausführen? Das heißt, ist dies das Verzeichnis, in dem Sie Ihre Python-App erstellen, oder müssen Sie dafür in 'myenv' eine CD erstellen? Oder warum erstellen Sie ein Unterverzeichnis für die Umgebung? Dumme Fragen, aber ich habe das noch nie benutzt und es gibt zu viele verschiedene Antworten. Zumindest hat Ihre Antwort einen Download von der python.org-Website und kein Github-Repository, von dem ich noch nie gehört habe. Ich bin ein bisschen paranoid über solche Sachen.
Bill Rosmus
4
Dies bleibt auch in 15.04 kaputt.
stricken
4
Dies bleibt in 14.04.2 LTS
Tamakisquare
Nicht ganz ein Ubuntu-Problem, aber ich habe das gleiche Problem mit Miniconda.
Art-Solopov
45

Grund: Sowohl Ubuntu 14.04 als auch Debian haben ein defektes pyvenv-3.4Tool. Siehe Ubuntu-Fehler 1290847 und Debian-Fehler 732703 .

Lösung / Problemumgehung (kürzer als die der anderen Antwort):

pyvenv-3.4 --without-pip venvdir
source venvdir/bin/activate
curl https://bootstrap.pypa.io/get-pip.py | python
deactivate
source venvdir/bin/activate

Ich habe diesen Fehler in meinem eigenen Gist beschrieben . Die URL in diesem Code stammt aus der offiziellen Pip-Installationsanleitung .

Denilson Sá Maia
quelle
5
Sie müssen 'sudo apt-get install python3.4-venv' voranstellen - Andernfalls ist auf dem PATH keine ausführbare Datei 'pyvenv-3.4' vorhanden. (Ubuntu 15.04)
Jonathan Hartley
@ JonathanHartley: Stimmt. Der in dieser Frage / Antwort erwähnte Fehler ist jedoch in Ubuntu 15.04 nicht vorhanden, sodass die Problemumgehung in dieser Antwort nicht erforderlich ist.
Denilson Sá Maia
Neugierig. Ich habe hier , weil ich bin , das Problem in 15.04 zu sehen. Ah. Die letzten paar Einträge zu dem langwierigen Ubuntu-Fehler, den Sie verlinken, besagen, dass man das neue Paket python3-venv installieren muss, das keine Abhängigkeit von python3 darstellt, um das Problem zu beheben.
Jonathan Hartley
@ JonathanHartley: Ihre Fehlermeldung muss sich von der Fehlermeldung in der Frage unterscheiden. Ihre Fehlermeldung muss sein pyvenv-3.4: command not found. Und ja, die Installation python3-venvist die Lösung für Ihren Fehler.
Denilson Sá Maia
10

Das sollte auch funktionieren:

sudo apt-get install python-virtualenv
virtualenv -p python3 myvenv

Oder noch besser:

sudo apt-get install python3-pip
sudo pip3 install virtualenv
virtualenv myvenv
Collin Anderson
quelle
2

Ihnen fehlt die venv lib für Python 3.4, führen Sie einfach Folgendes aus:

$ apt-get install python3.4-dev python3.4-venv

Gregory
quelle
0

Die Art und Weise, wie ich das gelöst habe, ist durch Laufen

$ python -m ensurepip

Was einen Stacktrace erzeugt hat, der mit dieser Zeile endet:

FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib64/python3.4/ensurepip/_bundled/setuptools-20.10.1-py2.py3-none-any.whl'

Also ging ich zu https://pypi.python.org/pypi/setuptools/20.10.1 und griff nach dem Rad und legte es in mein Verzeichnis (mit dem ich es erstellen musste mkdir -p /usr/lib64/python3.4/ensurepip/_bundled/)

Dann rannte python -m ensurepipich wieder mit

No such file or directory: '/usr/lib64/python3.4/ensurepip/_bundled/pip-8.1.1-py2.py3-none-any.whl

Also ging ich zu https://pypi.python.org/pypi/pip/8.1.1 , griff nach dem Rad und steckte es in das Verzeichnis.

Jetzt kann ich mit virtualenvs erstellen python -m venv .venv. Erfolg!

Wayne Werner
quelle
0

Getestet unter Debian

 
$ python3.4 -m venv --without-pip env
$ cd env
$ source ./bin/activate # virtualenv activated

$ wget https://bootstrap.pypa.io/get-pip.py # get installation script for pip
$ python3.4 get-pip.py
$ deactivate
$ source venvdir/bin/activate

$ pip list # just to check that pip works!

Rasiermesser
quelle
Debian ist hier allerdings nicht zum Thema ...
Zanna
Das tut mir leid. Ich hatte gehofft, dass es als Datenpunkt nützlich sein wird, da Ubuntu Debian als Basis verwendet. Ich könnte es später in meiner Ubuntu VM versuchen
Rasiermesserschnitter
Das wäre toll :)
Zanna
-1

Ich bin auf diesen Fehler gestoßen, weil ich das python3-venvPaket auf meinem System vermisst habe.

dominic2145678
quelle
1
Bitte geben Sie an, wie es installiert werden soll, damit andere es bei Bedarf verwenden können.
George Udosen