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!