我已经在/usr/local/bin
中安装了Python2.7.9。现在它不再起作用了。我在/usr/bin/
中有另一个Python,但是路径中首先是/usr/local/bin/
。如何删除2.7.9 Python?
发布于 2015-05-21 09:12:21
免责声明:我已经学到了很多,并且建议设置shell或shell会话的环境变量,而不是使用这个答案。例如,如果手动将系统的Python2解释器重新链接到Python3解释器,则可能会对系统造成严重破坏。请谨慎使用这个答案。
重新设置符号链接。
首先,找出哪个python:
$ which python
就我而言,我得到:
/usr/local/bin/python
然后找出符号链接指向的位置
$ 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的别名设置为您想要使用的版本。这是首选的解决方案,因为它只更改解释器,只是引用现有命令的快捷方式。
例如,要设置我可以使用的别名:
alias python="/opt/bin/python"
要更改默认路径,我可以使用:
export PATH=/opt/bin:$PATH
将这些行添加到~/.bashrc
或~/.bash_aliases
(后者在默认情况下是Ubuntu)将使这些快捷方式成为您启动的任何交互式shell的默认选项。结合应用程序默认值和交互式shell脚本,您可以严格控制哪个解释器运行您的代码,但不需要干扰潜在的关键系统文件。
https://stackoverflow.com/questions/30368420
复制相似问题