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

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?

答案1

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

答案2

原因: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

我曾描述过这个错误我自己的要点。此代码中的 URL 来自官方 pip 安装说明

答案3

这也应该有效:

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

或者更好的是:

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

答案4

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

$ 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,抓住轮并将其粘在目录中。

现在我可以用 创建虚拟环境python -m venv .venv。成功!

相关内容