问题描述
尝试使用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
。根据this launchpad thread,问题将在即将到来的14.04-1中得到解决
使用this method可以安装不带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 bug 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
我在my own Gist中描述了这个错误。此代码中的URL来自official pip installation instructions。
第三种解决方案
这也应该有效:
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安装python3.4-dev python3.4-venv