手动安装 pip 到 virtualenv

Manually install pip into virutalenv

我正在尝试创建一个 virtualenv,其中我将 运行 旧版本的 Django (1.4.2) 和特定版本的 Python (2.7.8) [=27] =] 埃尔卡皮坦。以下是我完成的步骤:

我使用以下工作流程下载并编译了 Python 2.7.8: Is it possible to install another version of Python to Virtualenv?

当我尝试使用指向我新编译的 Python2.7.8 的 --python 标志创建一个新的 virtualenv 时,我收到如下错误消息:

  Complete output from command /Users/luka/xxx/virtu...y2_7_8/bin/python2.7 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel:
  Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/virtualenv-13.1.2-py2.7.egg/virtualenv_support/pip-7.1.2-py2.py3-none-any.whl/pip/__init__.py", line 15, in <module>
  File "/Library/Python/2.7/site-packages/virtualenv-13.1.2-py2.7.egg/virtualenv_support/pip-7.1.2-py2.py3-none-any.whl/pip/vcs/subversion.py", line 9, in <module>
  File "/Library/Python/2.7/site-packages/virtualenv-13.1.2-py2.7.egg/virtualenv_support/pip-7.1.2-py2.py3-none-any.whl/pip/index.py", line 30, in <module>
  File "/Library/Python/2.7/site-packages/virtualenv-13.1.2-py2.7.egg/virtualenv_support/pip-7.1.2-py2.py3-none-any.whl/pip/wheel.py", line 35, in <module>
  File "/Library/Python/2.7/site-packages/virtualenv-13.1.2-py2.7.egg/virtualenv_support/pip-7.1.2-py2.py3-none-any.whl/pip/_vendor/distlib/scripts.py", line 14, in <module>
  File "/Library/Python/2.7/site-packages/virtualenv-13.1.2-py2.7.egg/virtualenv_support/pip-7.1.2-py2.py3-none-any.whl/pip/_vendor/distlib/compat.py", line 31, in <module>
ImportError: cannot import name HTTPSHandler

如果我使用 --no-setuptools 标志重新运行 相同的命令,一切正常,我可以访问我需要的 Python 版本,但我没有 pip 和site-package 目录中的 setuptools,这是一个问题,因为现在我无法在我的 virtualenv 中安装特定版本的 Django。我可以简单地将现有的系统范围的 pip 安装复制到我的 virtualenv 中,或者以其他方式在其中安装 pip 吗?

谢谢! 卢卡

你可以在新的虚拟环境中安装 pip using the get-pip.py script:

  1. 下载get-pip.py,例如使用 wget 或 curl
  2. 运行 它与 virtualenv 的 python,即激活 virtualenv 然后 运行 python get-pip.py