pyvenv-3.4错误:返回非零退出状态1


58

尝试使用pyvenv-3.414.04随附的随附软件创建虚拟环境时,将引发错误:

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

如何在Ubuntu 14.04上使用pyvenv-3.4?


1
如果您使用的是Anaconda,则Anaconda不需要ensurepipstackoverflow.com/a/39114277/1439843
Gerhard Burger

Answers:


50

不幸的是,14.04随附有损坏的pyvenv。根据此启动板线程,此问题将在即将到来的14.04-1中解决

使用此方法,您可以安装不带pip的Pyvenv环境,然后在安装后手动安装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 2014年

运行这些命令时,您位于哪个目录?也就是说,这是您要在其中构建python应用程序的目录,还是必须将其安装到'myenv'中。或者,为什么要为环境创建一个子目录?愚蠢的问题,但我以前从未使用过,答案也太多了。至少您的答案是从python.org网站下载的,而不是我从未听说过的github存储库。我对这样的事情有点偏执。
比尔·罗斯莫斯

4
这仍然在15.04中被打破。
knite

4
这仍然在14.04.2 LTS破
tamakisquare

并不是Ubuntu问题,但是Miniconda也有同样的问题。
art-solopov

45

原因:Ubuntu 14.04和Debian都有损坏的pyvenv-3.4工具。参见Ubuntu错误1290847Debian错误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

我已经在自己的Gist中描述了此错误。此代码中的URL来自官方的pip安装说明


5
您需要在'sudo apt-get install python3.4-venv'前面加上前缀-否则我在PATH上没有'pyvenv-3.4'可执行文件。(Ubuntu 15.04)
乔纳森·哈特利

@乔纳森·哈特利:是的。但是,此问题/答案中提到的错误在Ubuntu 15.04中不存在,因此此答案中的解决方法不是必需的。
DenilsonSáMaia 2015年

好奇。我来到这里是因为我感到在15.04看到的问题。啊。您所链接的冗长的Ubuntu错误的最后几条条目说,需要安装新的软件包python3-venv,而不是python3的依赖项,才能获得修复。
乔纳森·哈特利

@JonathanHartley:您的错误信息必须不同于问题中的错误信息。您的错误消息必须为pyvenv-3.4: command not found。而且,是的,安装python3-venv是针对您的错误的解决方案。
DenilsonSáMaia 2015年

10

这也应该工作:

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

或者更好:

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

2

您缺少python 3.4的venv库,只需运行:

$ apt-get安装python3.4-dev python3.4-venv


0

我解决这个问题的方法是通过运行

$ python -m ensurepip

产生了以以下行结尾的stacktrace:

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,抓住了那个轮子并将其粘贴在目录中。

现在,我可以使用创建虚拟环境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中尝试
razorsniper

那太好了:)
Zanna

-1

我遇到此错误是因为我缺少python3-venv系统上的软件包。


1
请说明如何安装它,以便其他人在需要时可以使用它。
乔治·乌德森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.