繁体   English   中英

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

[英]Python3.5 is installed but pip3 points to python3.6

我的机器上安装了Python3.5

$ python3-版本

Python 3.5.0

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

$ pip3-版本

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

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

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

$ python3 -m pip --version

来自/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages(python 3.5)的pip 9.0.1

但这真的很愚蠢。 如何将“ pip3”的默认目标更改回Python 3.5? 即如何使pip3从字面上安装python3.5的软件包?

您将需要更改环境变量。

您可以通过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']

对于Linux / Mac OS X用户或Windows用户,删除类似于'/Python36/lib/site-packages'的条目,对于Windows用户, 'C:\\\\Python36\\\\lib\\\\site-packages'数组中的'C:\\\\Python36\\\\lib\\\\site-packages'

非常小心,不要删除任何东西。 尝试简单地打印索引以确保它是正确的索引。

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

通过在终端或命令提示符下检查pip版本来测试其是否有效。

如果有效,就完成了! 但是,有些人可能会看到一条错误消息,指出未找到pip3。 在这种情况下,请返回外壳并(在重新导入sys之后)附加python 3.5的目录,然后附加/lib/site-packages

再次重新启动计算机,然后测试它是否可以工作。 如果没有,您可能需要重新安装python 3.5才能使其正常工作。 但是,如果您正确地遵循了步骤,那将是非常罕见的。

我希望这个答案是有用的!

从pypa下载pip的引导脚本,然后使用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命令:

$ 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上一样测试过这些命令,但是如果我的内存正确,那应该可以...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM