Vel*_*est 7 python linux ubuntu
我已经安装了Python 2.7.9 /usr/local/bin.现在它不再起作用了.我有另一个Python,/usr/bin/但在路径中是/usr/local/bin/第一个.我怎样才能删除2.7.9 Python?
您的问题缺乏细节,最恰当的是您实际安装Python的方式/usr/local/bin.安装方法将指示如何删除已安装的文件.
将包安装到/usr/local目录层次结构中的最常用方法是从源代码sudo make install编译并在编译和链接后运行.如果您尚未删除原始(未压缩)源目录,则可以通过运行以下命令将其更改为并删除已编译的Python包:
sudo make uninstall
Run Code Online (Sandbox Code Playgroud)
如果源代码已被删除,您可以尝试重新下载源代码.
如果没有uninstall目标make(不幸的是,比你想象的更常见),另一个(不优雅的)选项是使用该find命令搜索/usr/local目录树中与你想要的应用程序中的其他文件具有相同修改时间的所有文件.去掉.
这些天,我建议安装该checkinstall工具.make install这可以用来创建RPM或Debian软件包,然后使用系统的常规软件安装工具安装(和卸载),而不是运行.
免责声明:从那以后,我学到了很多东西,建议您为shell或shell会话设置环境变量,而不要使用此答案。例如,如果您手动将系统的Python2解释器重新链接到Python3解释器,则可能会对系统造成严重破坏。请谨慎使用此答案。
只需重置符号链接。
首先,找出哪个python:
$ which python
Run Code Online (Sandbox Code Playgroud)
就我而言,我得到:
/usr/local/bin/python
Run Code Online (Sandbox Code Playgroud)
然后找到符号链接指向的位置
$ file /usr/local/bin/python
/usr/local/bin/python: symbolic link to `/usr/bin/python'
Run Code Online (Sandbox Code Playgroud)
然后只需将符号链接重新指向默认值即可(在这种情况下,我将使用默认值:/ usr / bin / python)。
无需卸载。
从那以后,我发现了许多更好的方法可以实现完全相同的行为,而又不会对整个系统产生影响。
说我有一个不需要的python安装/usr/bin,并且有一个想要的python安装/opt/bin。为了比较起见,我们说的/usr/bin是Python 3.5和/opt/binPython 2.7。使用错误的Python解释器会立即产生后果,而不是产生细微的错误。
应用程序默认值
如果您想(在Linux系统上)更改哪个运行Internet的Interpeter,可以通过GUI或xdg-mime(可在此处找到演练)进行更改。对于macOS或Windows,可以通过GUI轻松完成。
互动壳
如果您想更改特定外壳的默认Python,我可以看到两种很好的方法。一种方法是针对特定情况将默认搜索更改为之前PATH设置的设置,但是,如果您对系统软件包进行了大量替代安装,这也可能会引起问题。另一个方法是为您要使用的版本设置Python别名。这是首选的解决方案,因为它仅更改解释器,并且仅仅是引用现有命令的快捷方式。/opt/binusr/bin
例如,要设置别名,我可以使用:
alias python="/opt/bin/python"
Run Code Online (Sandbox Code Playgroud)
并更改默认路径,我可以使用:
export PATH=/opt/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
将这些行添加到~/.bashrc或~/.bash_aliases(默认情况下,后者仅适用于Ubuntu)将使这些快捷方式成为您启动的任何交互式shell的默认设置。将应用程序默认值和交互式shell脚本结合使用,可以使您对哪个解释器运行代码具有严格的控制,但是不需要干预潜在的关键系统文件。
| 归档时间: |
|
| 查看次数: |
69076 次 |
| 最近记录: |