设置virtualenv:没有名为' pip'

时间:2014-02-17 10:42:30

标签: python virtualenv pip importerror

我在Windows Server 2008 R2计算机上全新安装了Python 3.3.4。我已成功在全球范围内安装了最新版本的Setuptools,Pip和Virtualenv:

python ez_setup.py
easy_install pip
pip install virtualenv

现在,当我尝试使用virtualenv ENV设置virtualenv时,我得到以下堆栈跟踪:

New python executable in ENV\Scripts\python.exe
Installing setuptools, pip...
  Complete output from command [path redacted]\ENV\Scripts\python.exe -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip:
  Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named 'pip'
----------------------------------------
...Installing setuptools, pip...done.
Traceback (most recent call last):
  File "C:\Python33\lib\runpy.py", line 160, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "C:\Python33\lib\runpy.py", line 73, in _run_code
    exec(code, run_globals)
  File "C:\Python33\Scripts\virtualenv.exe\__main__.py", line 9, in <module>
  File "C:\Python33\lib\site-packages\virtualenv.py", line 824, in main
    symlink=options.symlink)
  File "C:\Python33\lib\site-packages\virtualenv.py", line 992, in create_environment
    install_wheel(to_install, py_executable, search_dirs)
  File "C:\Python33\lib\site-packages\virtualenv.py", line 960, in install_wheel
    'PIP_NO_INDEX': '1'
  File "C:\Python33\lib\site-packages\virtualenv.py", line 902, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command [path redacted]\ENV\Scripts\python.exe -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip failed with error code 1

我之前从未见过这个错误,堆栈跟踪对我没有任何意义。我可以从Python shell成功import pip。任何人都可以帮我解决这个问题吗?

更新当我提供--system-site-packages标记时,env会成功安装。

4 个答案:

答案 0 :(得分:21)

对于遇到此问题的其他人来说,Python错误故障单的有用解决方法:

  • 运行virtualenv venv --no-setuptools
  • 激活virtualenv(venv \ Scripts \ activate)
  • 下载并运行get-pip.py以手动安装pip&amp; setuptools进入这个virtualenv
  • 继续正常

或者,降级到3.3.3。这应该在3.3.5中正确修复

答案 1 :(得分:4)

令人讨厌的是,看起来这可能是一个Python错误。 https://github.com/pypa/virtualenv/issues/564引用http://bugs.python.org/issue20621,它仍处于打开状态,但看起来将在3.3.5中修复。

将我的Python安装放回3.3.3修复了问题。

答案 2 :(得分:1)

我使用 deactivate 命令停用了虚拟环境。然后我手动删除了虚拟环境文件夹并使用命令 python -m venv ./venv 重新创建它。这解决了我的问题。但是,这显然会删除您作为虚拟环境的一部分安装的所有软件包和模块 - 但如果缺少 pip,您可能还没有安装很多。

答案 3 :(得分:0)

我知道问题的底部会以粗体显示更新,但我和我的同事都想念您回答了您自己的问题。

因此,以防万一其他人可能会错过它,请尝试使用--system-site-packages标志。这对我们有用:

virtualenv ENV --system-site-packages