首页 > 解决方案 > 'pip' 连接到 Anaconda。我该如何改回来?

问题描述

我使用的是 Windows 10。我在系统范围内有 python 3.5.4,在 Anaconda 中有 Python 3.6.6。系统范围的pip命令最近以某种方式“连接”到了 Anaconda 路径。也就是说,当我打开cmd并输入时pip,它会尝试在 Anaconda 中安装 3.6.6 Python,而不是在系统范围内安装 3.5.4。如何连接pip回 3.5.4 版本?

C:\Users\h473>pip --version
pip 19.0.3 from c:\users\h473\appdata\local\continuum\anaconda3\lib\site-packages\pip (python 3.6)

C:\Users\h473>python
Python 3.5.4 (v3.5.4:3f56838, Aug  8 2017, 02:17:05) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

当我尝试pip通过以管理员身份运行 cmd 进行升级时,出现以下错误:

C:\Windows\system32>python -m pip install --upgrade pip
Traceback (most recent call last):
  File "C:\Users\h473\AppData\Local\Programs\Python\Python35\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\h473\AppData\Local\Programs\Python\Python35\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\h473\AppData\Local\Programs\Python\Python35\lib\site-packages\pip\__main__.py", line 16, in <module>
    from pip._internal import main as _main  # isort:skip # noqa
ImportError: cannot import name 'main'

标签: pythonpython-3.xpathpipinstallation

解决方案


我必须重新安装pip才能使其与系统范围的 Python 连接。

但这也不简单。由于pip连接到 Anaconda 的 Python,我不能这样做pip uninstall pip,因为那样会卸载 Anaconda 的pip.

所以基本上我必须删除 2 个名为pippip-<version>.dist-info在系统范围内安装的路径中的文件夹pip(在我的情况下是C:\Users\h473\AppData\Local\Programs\Python\Python35\Lib\site-packages)。然后我可以pip再次安装。

但是,为了安全起见,我在某处剪切并粘贴了 2 个文件夹(以防出现问题)。安装步骤pip

  1. 从https://bootstrap.pypa.io/get-pip.py保存文件
  2. python get-pip.py

您可以通过检查版本来验证它是否有效pip,如下所示,现在是 3.5 并显示系统范围 Python 的路径,而不是问题中的 3.6 和 Anaconda 的路径:

C:\Users\h473\Downloads>pip --version
pip 19.0.3 from c:\users\h473\appdata\local\programs\python\python35\lib\site-packages\pip (python 3.5)

推荐阅读