błąd pyvenv-3.4: zwrócił niezerowy status wyjścia 1


58

Podczas próby utworzenia środowiska wirtualnego przy użyciu dołączonego pakietu, pyvenv-3.4który jest dostarczany z 14.04, zgłasza błąd:

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

Jak korzystać z Pyvenv-3.4 w systemie Ubuntu 14.04?


1
Jeśli używasz Anacondy, to jest problem, Anaconda nie ma ensurepip: stackoverflow.com/a/39114277/1439843
Gerhard Burger

Odpowiedzi:


50

Niestety 14.04 wysłane z uszkodzonym pyvenv. Zgodnie z tym wątkiem startera problem zostanie rozwiązany w nadchodzącym 14.04-1

Za pomocą tej metody można zainstalować środowisko Pyvenv bez pip, a następnie ręcznie zainstalować pip po fakcie.

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

Ktoś zasugerował radykalną edycję get-pip.pyw tej odpowiedzi - myślę, że to zbyt duża zmiana, ale proszę dodaj swoje rozwiązanie jako nową odpowiedź (nawet po prostu kopiując górną część tej odpowiedzi)!
Volker Siegel,

W jakim katalogu jesteś po uruchomieniu tych poleceń? To znaczy, czy jest to katalog, w którym będziesz budować swoją aplikację Python, czy musisz w tym celu cd do „myenv”. Lub dlaczego tworzysz podkatalog dla środowiska? Głupie pytania, ale nigdy wcześniej tego nie użyłem i jest zbyt wiele różnych odpowiedzi. Przynajmniej twoja odpowiedź ma jedno pobranie ze strony python.org, a nie jakieś repozytorium github, o którym nigdy nie słyszałem. Jestem trochę paranoikiem w takich sprawach.
Bill Rosmus,

4
To pozostaje zepsute również w 15.04.
knite

4
To pozostaje zepsute w 14.04.2 LTS
tamakisquare

Nie dość problem z Ubuntu, ale mam ten sam problem z Minicondą.
art-solopov,

45

Powód: Zarówno Ubuntu 14.04, jak i Debian mają zepsute pyvenv-3.4narzędzie. Zobacz błąd Ubuntu 1290847 i błąd Debian 732703 .

Rozwiązanie / obejście (krótsze niż jedno z drugiej odpowiedzi):

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

Opisałem ten błąd we własnej Gist . Adres URL w tym kodzie pochodzi z oficjalnej instrukcji instalacji pip .


5
Musisz przedrostek „sudo apt-get install python3.4-venv” - W przeciwnym razie nie mam pliku wykonywalnego „pyvenv-3.4” na ścieżce. (Ubuntu 15.04)
Jonathan Hartley

@JathanathanHartley: Prawda. Jednak błąd wymieniony w tym pytaniu / odpowiedzi nie występuje w Ubuntu 15.04, więc obejście w tej odpowiedzi nie jest konieczne.
Denilson Sá Maia,

Ciekawy. Mam tutaj, bo jestem widząc problemu w 15.04. Ach Ostatnie kilka wpisów o długim błędzie Ubuntu, które łączysz, mówią, że aby zainstalować poprawkę, należy zainstalować nowy pakiet python3-venv, który nie jest zależny od python3.
Jonathan Hartley,

@JonathanHartley: Twój komunikat o błędzie musi być inny niż komunikat o błędzie z pytania. Twój komunikat o błędzie musi być pyvenv-3.4: command not found. I tak, instalacja python3-venvjest rozwiązaniem twojego błędu.
Denilson Sá Maia

10

To też powinno działać:

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

Lub jeszcze lepiej:

sudo apt-get install python3-pip
sudo pip3 install virtualenv
virtualenv myvenv

2

Brakuje biblioteki venv dla Pythona 3.4, wystarczy uruchomić:

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


0

Sposób, w jaki to rozwiązałem, polega na bieganiu

$ python -m ensurepip

Co spowodowało utworzenie śledzenia stosu kończącego się tą linią:

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

Więc poszedłem na https://pypi.python.org/pypi/setuptools/20.10.1 i złapałem koło i umieściłem je w moim katalogu (który musiałem stworzyć mkdir -p /usr/lib64/python3.4/ensurepip/_bundled/)

Potem python -m ensurepipznów uciekłem, z którym się spotkałem

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

Poszedłem więc na https://pypi.python.org/pypi/pip/8.1.1 , złapałem to koło i włożyłem do katalogu.

Teraz mogę tworzyć virtualenvs za pomocą python -m venv .venv. Powodzenie!


0

Testowane na Debianie

 
$ 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 jest tutaj nie na temat ...
Zanna,

Przepraszam za to. Miałem nadzieję, że przyda się jako punkt danych, ponieważ Ubuntu używa Debiana jako podstawy. Mogę wypróbować później
moją maszynę

Byłoby wspaniale :)
Zanna

-1

Wystąpił ten błąd, ponieważ brakowało mi python3-venvpakietu w moim systemie.


1
Czy możesz podać sposób instalacji, aby inni mogli z niego korzystać w razie potrzeby.
George Udosen
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.