помилка pyvenv-3.4: повертається ненульовий стан виходу 1


58

При спробі створити віртуальне середовище за допомогою включеного pyvenv-3.4з 14.04, він видає помилку:

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

Як я можу використовувати pyvenv-3.4 з Ubuntu 14.04?


1
Якщо ви використовуєте Anaconda, це проблема, в Anaconda немає ensurepip: stackoverflow.com/a/39114277/1439843
Герхард Бургер

Відповіді:


50

На жаль, 14,04 поставляється з розбитим pyvenv. Відповідно до цієї теми запуску, це питання буде вирішено у майбутньому 14.04-1

За допомогою цього методу ви можете встановити середовище Pyvenv без pip, а потім вручну встановити pip після факту.

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

Хтось запропонував радикальну редакцію використовувати get-pip.pyу цій відповіді - я вважаю, що це занадто багато змін, але будь ласка, додайте своє рішення як нову відповідь (навіть просто копіюючи верхню частину цієї відповіді)!
Volker Siegel

У якому каталозі ви знаходитесь, коли запускаєте ці команди? Тобто це каталог, в якому ви будете будувати додаток python, або вам доведеться вводити для цього "myenv". Або чому ви створюєте підкаталог для навколишнього середовища? Тупі запитання, але я ніколи цього не використовував, і відповідей занадто багато. Принаймні, у Вашій відповіді є завантаження із сайту python.org, а не в сховище github, про яке я ніколи не чув. Я трохи параноїчний щодо таких матеріалів.
Білл Росмус

4
Це також залишається порушеним у 15.04.
knite

4
Це залишається порушеним у 14.04.2 LTS
tamakisquare

Не зовсім питання про Ubuntu, але у мене є те саме, що і у Miniconda.
арт-соловєв

45

Причина: І Ubuntu 14.04, і Debian мають зламаний pyvenv-3.4інструмент. Див. Помилку Ubuntu 1290847 та Debian Bug 732703 .

Рішення / вирішення (коротше, ніж відповідь з іншого):

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

Я описав цю помилку у власному «Гісті» . URL-адреса в цьому коді походить з офіційних інструкцій щодо встановлення труб .


5
Вам потрібно встановити префікс 'sudo apt-get install python3.4-venv' - інакше у мене на PATH не виконується виконуваний файл 'pyvenv-3.4'. (Ubuntu 15.04)
Джонатан Хартлі

@JonathanHartley: Правда. Однак помилка, згадана в цьому запитанні / відповіді, відсутня в Ubuntu 15.04, тому вирішення цієї відповіді не потрібне.
Denilson Sá Maia

Цікавий. Я отримав тут , тому що я бачив проблему в 15.04. Ага. Останні кілька записів про довгу помилку Ubuntu, яку ви посилаєте, говорять, що для виправлення потрібно встановити новий пакет python3-venv, який не є залежністю python3.
Джонатан Хартлі

@JonathanHartley: Ваше повідомлення про помилку має відрізнятись від повідомлення про помилку з питання. Повідомлення про помилку має бути pyvenv-3.4: command not found. І так, встановлення python3-venv- це рішення вашої помилки.
Denilson Sá Maia

10

Це також має працювати:

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

Або ще краще:

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

2

Вам не вистачає venv lib для python 3.4, просто запустіть:

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


0

Я вирішив це шляхом бігу

$ python -m ensurepip

Який створив стек-трек, що закінчується цим рядком:

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

Тож я перейшов до https://pypi.python.org/pypi/setuptools/20.10.1 і схопив колесо і поклав його у свій каталог (який мені довелося створити mkdir -p /usr/lib64/python3.4/ensurepip/_bundled/)

Потім python -m ensurepipзнову бігав, з яким я зіткнувся

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

Тож я перейшов до https://pypi.python.org/pypi/pip/8.1.1 , схопив це колесо і застряг у каталозі.

Тепер я можу створювати virtualenvs за допомогою python -m venv .venv. Успіху!


0

Тестували на 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 тут поза темою ...
Zanna

Вибач за те. Я сподівався, що він стане корисним як точка даних, оскільки Ubuntu використовує Debian як базу. Я міг би спробувати в моєму Ubuntu VM пізніше
готівка

Це було б чудово :)
Zanna

-1

Я зіткнувся з цією помилкою, оскільки мені не вистачало python3-venvпакета в моїй системі.


1
Будь ласка, ви можете вказати, як його встановити, щоб інші могли використовувати його за потреби.
Джордж Удосен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.