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?


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

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 .


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

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


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!


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!


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.


1
Bitte geben Sie an, wie es installiert werden soll, damit andere es bei Bedarf verwenden können.
George Udosen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.