Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
已安装Python3.5,但pip3指向Python3.6_Python_Python 3.x_Pip - Fatal编程技术网

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

已安装Python3.5,但pip3指向Python3.6,python,python-3.x,pip,Python,Python 3.x,Pip,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 因此,我用pip3 install xxxxx安装的所有软件包都不能被我的python3.5解释器使用。它们显然已安装到python3.6,但我从未在我的机器上安装过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

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

我能想到的唯一解决办法是使用
python3-mpip
替换我想要的
pip3
。其工作原理如下所示:

$python3-m pip--版本

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


但这真的很愚蠢。如何将“pip3”的默认目标更改回Python 3.5?i、 e.如何让pip3真正安装python3.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_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上没有测试这些命令,但如果我的内存正确,那么应该可以…

您需要更改环境变量

您可以通过python交互式解释器来实现这一点,因为python有一个用于更改环境变量的模块

因此,启动空闲shell并输入以下两个命令:

>>> import sys
>>> sys.path
您应该会看到类似于以下内容的输出(来自Windows计算机):

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

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

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

通过在终端或命令提示符上检查pip版本来测试它是否工作

如果成功了,你就完了!然而,有些人可能会看到一个错误,说没有找到pip3。 在这种情况下,请返回shell并(在重新导入sys之后)附加python 3.5的目录,后跟
/lib/site packages

重新启动计算机并测试它是否工作。如果没有,您可能需要重新安装Python3.5才能使其正常工作。然而,如果你正确地放弃了这些步骤,这是非常罕见的


我希望这个答案是有用的

这不是一个编程问题,所以这不是一个合适的问题。它与您使用的操作系统以及如何将“pip3”命令链接到正确的路径有关。在了解如何操作时,您可能希望使用完整的pip3路径,像maybe/usr/local/lib/python3.5/site-packages/pip3一样,启动正确的pip3找到当前的pip
哪个pip
,并创建一个引用python3.5 pip的符号链接。这样做之后,结果是需求已经是最新的:pip in/Library/Frameworks/python.framework/Versions/3.5/site-packages,所以我猜pip是python3.5已经存在了吗?那么,我如何删除python3.6版本,并将python3.5版本设置为默认版本呢?用我认为应该设置为默认版本的内容更新了答案
['', 'C:\\python36', 'C:\\python36\\Lib\\idlelib', 'C:\\Python36\\python36.zip', 
'C:\\Python36\\DLLs', 'C:\\Python36\\lib', 'C:\\Python36', 'C:\\Python36\\lib\\site-packages']