首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何删除/usr/local/bin/中的python

如何删除/usr/local/bin/中的python
EN

Stack Overflow用户
提问于 2015-05-21 08:30:31
回答 4查看 101K关注 0票数 10

我已经在/usr/local/bin中安装了Python2.7.9。现在它不再起作用了。我在/usr/bin/中有另一个Python,但是路径中首先是/usr/local/bin/。如何删除2.7.9 Python?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-05-21 09:12:21

免责声明:我已经学到了很多,并且建议设置shell或shell会话的环境变量,而不是使用这个答案。例如,如果手动将系统的Python2解释器重新链接到Python3解释器,则可能会对系统造成严重破坏。请谨慎使用这个答案。

重新设置符号链接。

首先,找出哪个python:

代码语言:javascript
运行
复制
$ which python

就我而言,我得到:

代码语言:javascript
运行
复制
/usr/local/bin/python

然后找出符号链接指向的位置

代码语言:javascript
运行
复制
$ file /usr/local/bin/python
/usr/local/bin/python: symbolic link to `/usr/bin/python'

然后,只需将符号链接重新指向默认值(在本例中,我使用默认值: /usr/bin/python)。

不需要卸载。

更新

从那以后,我找到了许多更好的方法来执行这种完全相同的行为,而不会对整个系统产生影响。

假设我在/usr/bin中安装了不想要的python,在/opt/bin中安装了所需的python。让我们来比较一下,/usr/bin是Python3.5,/opt/bin是Python2.7。这将造成使用错误的Python解释器的直接后果,而不是一行中的微妙错误。

应用程序默认

如果您想(在Linux系统上)更改运行Python脚本的interpeter,则可以通过GUI或xdg(可以找到here)更改这一点。对于macOS或Windows,这可以通过GUI轻松地完成。

交互式Shell

如果您想更改特定shell的默认Python,我可以看到两种很好的方法。一种方法是将默认的search PATH更改为在特定情况下在usr/bin之前设置/opt/bin,但是,如果您有许多替代系统包的安装,这也可能会造成问题。另一个方法是将Python的别名设置为您想要使用的版本。这是首选的解决方案,因为它只更改解释器,只是引用现有命令的快捷方式。

例如,要设置我可以使用的别名:

代码语言:javascript
运行
复制
alias python="/opt/bin/python"

要更改默认路径,我可以使用:

代码语言:javascript
运行
复制
export PATH=/opt/bin:$PATH

将这些行添加到~/.bashrc~/.bash_aliases (后者在默认情况下是Ubuntu)将使这些快捷方式成为您启动的任何交互式shell的默认选项。结合应用程序默认值和交互式shell脚本,您可以严格控制哪个解释器运行您的代码,但不需要干扰潜在的关键系统文件。

票数 8
EN

Stack Overflow用户

发布于 2015-05-21 08:58:16

您的问题缺乏细节,最相关的是如何将Python实际安装到/usr/local/bin中。安装方法将指示如何删除已安装的文件。

将软件包安装到目录的/usr/local层次结构中的最常见方法是从源代码编译,并在编译和链接之后运行sudo make install。如果您还没有删除原始(未压缩的)源目录,则可以通过运行以下命令将其更改为并删除编译后的Python包:

代码语言:javascript
运行
复制
 sudo make uninstall

如果源代码已被删除,则可以再次尝试重新下载源代码。

如果没有uninstall目标用于make (不幸的是,比您想象的更常见),另一个(不雅的)选项是使用find命令搜索/usr/local目录树中的所有文件,这些文件的修改时间与您想要删除的应用程序中的其他文件相同。

现在,我建议安装checkinstall工具。而不是运行make install,它可以用于创建RPM或Debian包,然后可以使用系统的常规软件安装工具安装(并卸载)这些包。

票数 11
EN

Stack Overflow用户

发布于 2015-05-21 08:55:32

路径环境变量。它有一个目录列表,在查找要执行的程序时,bash将以相同的顺序进行搜索。基本上,您希望将/usr/local/bin放在PATH环境变量的开头。将以下内容添加到~/..bashrc文件中:

代码语言:javascript
运行
复制
export PATH=/usr/local/bin:$PATH

您可以通过在bash中运行set命令来查看当前设置。

或者,您可以简单地将/usr/bin/python重命名为/usr/bin/python2.3,并创建指向新版本的符号链接。

代码语言:javascript
运行
复制
ln -s /usr/local/bin/python /usr/bin/python
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30368420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档