Answers:
不幸的是,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
在此答案中使用激进编辑-我认为这是太多的更改,但请添加您的解决方案作为新答案(甚至只是复制此答案的上部)!
原因: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中描述了此错误。此代码中的URL来自官方的pip安装说明。
pyvenv-3.4: command not found
。而且,是的,安装python3-venv
是针对您的错误的解决方案。
我解决这个问题的方法是通过运行
$ 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
。成功!
在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!
ensurepip
:stackoverflow.com/a/39114277/1439843