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

当尝试使用14.04附带的pyvenv-3.4创建虚拟环境时,它会抛出一个错误:

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

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

不幸的是,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 

原因:Ubuntu 14.04和Debian都有一个破坏的pyvenv-3.4工具。 请参阅Ubuntu错误1290847和Debian错误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中描述了这个bug。 此代码中的URL来自官方pip安装说明 。

这也应该有效:

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

或者更好的是:

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

你错过了python 3.4的venv lib,只需运行:

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

我解决这个问题的方法就是跑步

 $ 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/创建) 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创建virtualenvs。 成功!

我遇到了这个错误,因为我错过了我系统上的python3-venv包。

在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!