我的机器上安装了Python3.5
$ python3 --version
Python 3.5.0
但是,pip3命令指向python3.6,这意味着:
$ pip3 --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)
因此,我使用 pip3 install xxxxx
安装的所有软件包都无法被我的 python3.5 解释器使用。它们显然是安装到python3.6的,但我的机器上从来没有安装过python3.6。
我能想到的唯一解决办法是使用python3 -m pip
替换我想要的pip3
。这可能会如下所示工作:
$ python3 -m pip --version
pip 9.0.1 from /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (python 3.5)
但这确实很愚蠢。如何将“pip3”的默认目标更改回Python 3.5?即如何使 pip3 从字面上安装 python3.5 的软件包?
最佳答案
您需要更改环境变量。
您可以通过 python 交互式解释器来做到这一 pip ,因为 python 有一个可以更改环境变量的模块。
因此启动 IDLE shell 并输入以下两个命令:
>>> import sys
>>> sys.path
您应该看到类似于以下内容的输出(来自 Windows 计算机):
['', 'C:\\python36', 'C:\\python36\\Lib\\idlelib', 'C:\\Python36\\python36.zip',
'C:\\Python36\\DLLs', 'C:\\Python36\\lib', 'C:\\Python36', 'C:\\Python36\\lib\\site-packages']
对于 Linux/Mac OS X 用户,删除类似于 '/Python36/lib/site-packages'
的条目,对于 Windows 用户,删除类似 'C:\\Python36\\lib数组中的\\site-packages'
。
要非常小心,不要删除任何其他内容。尝试简单地打印索引以确保它是正确的。
完成此步骤后,重新启动计算机以确保所做的更改。
通过在终端或命令提示符上检查 pip 版本来测试它是否有效。
如果有效,就完成了!但是,有些人可能会看到一条错误消息,指出未找到 pip3。
在这种情况下,请返回 shell 并(重新导入 sys 后)附加 python 3.5 的目录,后跟 /lib/site-packages
。
再次重新启动计算机并测试其是否有效。如果没有,您可能需要重新安装 python 3.5 才能使其正常工作。然而,如果您正确地遵循这些步骤,这种情况是非常罕见的。
希望这个答案有用!
关于安装了Python3.5但pip3指向python3.6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46741954/