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

时间:2017-10-14 07:18:07

标签: python python-3.x pip

我的机器上安装了Python3.5

  

$ python3 --version

     

Python 3.5.0

但是,pip3命令指向python3.6,这意味着:

  

$ pip3 --version

     

来自/usr/local/lib/python3.6/site-packages(python 3.6)的pip 9.0.1

因此,我使用pip3 install xxxxx安装的所有软件包都不能被我的python3.5解释器使用。它们显然安装在python3.6上,但我从未在我的机器上安装过python3.6。

我能想到的唯一的解决方法是使用python3 -m pip来替换我想要的pip3。这可能如下所示:

  

$ python3 -m pip --version

     

9.0L来自/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages(python 3.5)

但这真的很愚蠢。如何更改' pip3'的默认目的地回到Python 3.5?即如何使pip3逐字安装python3.5的包?

2 个答案:

答案 0 :(得分:2)

您需要更改环境变量。

你可以通过python交互式解释器来实现,因为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']

删除类似于{/ 1}}的条目,对于Linux / Mac OS X用户,或对于Windows用户,'/Python36/lib/site-packages'

非常小心不要删除任何其他内容。尝试简单地打印索引以确保它是正确的。

完成此步骤后,请重新启动计算机以确保进行更改。

通过检查终端或命令提示符上的pip版本来测试它是否有效。

如果有效,你就完成了!但是,有些人可能会看到一个错误,说找不到pip3。 在这种情况下,请返回shell并(在重新导入sys之后)追加python 3.5的目录,然后附加'C:\\Python36\\lib\\site-packages'

重新启动计算机并测试它是否有效。如果没有,您可能需要重新安装python 3.5才能使其正常工作。但是,如果您正确地执行了非常罕见的步骤。

我希望这个答案很有用!

答案 1 :(得分:0)

从pypa下载pip的bootstrap脚本,然后使用Python 3.5解释器安装它

$ wget https://bootstrap.pypa.io/get-pip.py
$ python3 get-pip.py

然后将pip安装到你的python3安装中。

您甚至可能已经拥有它,您可以通过查看来仔细检查:

  

/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/Scripts

您可以尝试使用find命令在目录中找到它 然后你可以尝试备份旧的pip命令并用新的命令替换它:

$ PIP_3_5=$(find /Library/Frameworks/Python.framework/Versions/3.5/lib/python‌​3.5 -name pip)
$ mv $(which pip) $(which pip)3.6
$ alias pip=$PIP_3_5

请记住,我还没有像在Windows上那样测试这些命令,但如果我的记忆正确,那么应该这样做......