我的电脑上有多个 python 吗?以及如何卸载其中之一?

bri*_*ght 6 fedora python

遇到pip install - U numpypython中没有更新numpy版本的问题,类似/sf/ask/1847362681/

因此,我怀疑我的计算机上是否有多个python。

当我运行时which -a python,它返回以下内容:

/usr/bin/python
/bin/python
Run Code Online (Sandbox Code Playgroud)

这是否意味着我的计算机上有两个 python?如果这是真的,我想卸载其中之一。我试过了yum remove python。但是当我跑的时候,我仍然可以看到这两条蟒蛇which -a python

小智 4

which python只告诉您将使用该命令运行的可执行文件python,即它通常为每个参数返回一个结果,除非您指定-a,在这种情况下它会搜索环境变量中的所有目录$PATH。但在所有情况下都是相同的python命令。

如果您想知道系统上安装了多少个版本的 python ,最好使用locate /python | grep /binorls -l /usr/bin/python*yum --showduplicates list python

至于您的两个python实例,很可能其中之一是[符号]链接:检查which -a python | xargs ls -li。如果您想删除特定版本的 python,则必须在yum命令行上指定该版本号,例如 : yum remove python-2.7.2.el5s2

编辑:正如mattdm报告的那样,/bin是 Fedora 上的符号链接/usr/bin。因此,您不能从这些位置中的任何一个位置删除 python,否则rm您最终将根本删除 python。在这种情况下, in-i的参数将表明两个 python 实例具有相同的 inode。lswhich -a python | xargs ls -li

请注意,您不需要手动删除特定于版本的包,因为包管理器的目的正是根据依赖项要求充分提取版本。如果安装了特定版本,那么它的存在是有充分理由的。删除一个包可能会同时删除其他包。

最后,请务必使用发行版的包管理器来安装包及其依赖项,尤其是那些属于发行版存储库的包......除非不可能。我可能是错的,但如果您指望pip更新一些主要包,那么包管理器将会感到困惑,并且很可能会弄乱您手动满足的依赖项。(事实上​​,这是相反的:让pip管理依赖关系可能会搞乱yum。)