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.