2016-01-13 97 views
0

我想创建一个virtualenv,我将在OSX El Capitan上运行Django的老版本(1.4.2)和特定版本的Python(2.7.8)。下面是我所经历的步骤:手动安装pip到virutalenv

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

当我尝试创建--python标志一个新的virtualenv指着我的新编译Python2。 7.8,我得到看起来像这样的错误消息:

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和setuptools,这是一个问题,因为现在我无法安装我的virtualenv中的特定版本的Django。我可以简单地将现有的系统级pip安装复制到我的virtualenv中,或者以其他方式在其中安装pip?

谢谢! 卢卡

回答

1

您可以直接在新的virtualenv using the get-pip.py script安装pip

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