安装了Python3.5但pip3指向python3.6

标签 python python-3.x pip

我的机器上安装了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/

相关文章:

除非我在终端上执行,否则带有输入的 Python 脚本不会运行

python - 使用 pip 安装笔记本时出错

python - Pip 在 macOS 上找不到 python 3.6 的 tensorflow

Python - 查找列表中匹配条件的下一个元素。替换之前的条目

python - 如何通过 Circle.yml 配置 CircleCI 以不安装 Python 依赖项?

python - 将列表转换为列表列表

python - 如何绘制 K 均值算法的混淆/相似矩阵

python - 如何在分区算法中检索子集?

python - 如何通过python中的列表解析?

python - 为什么我无法安装 flask (PIP 错误)?