linux删除python
1、基于用户修改 Python 版本:
想要为某个特定用户修改 Python 版本,只需要在其 home 目录下创建一个alias(别名) 即可。打开该用户的~/.bashrc文件,添加新的别名信息来修改默认使用的 Python 版本。
alias python='/usr/bin/python3.4'
$ . ~/.bashrc
$ python --version
Python 3.4.2
# update-alternatives --list python
update-alternatives: error: no alternatives for python
# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode
# update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2
update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode
# python --version
Python 3.4.2
# update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3.4
# update-alternatives --config python
# python --version
Python 2.7.8
# update-alternatives --remove python /usr/bin/python2.7
update-alternatives: removing manually selected alternative - switching python to auto mode
update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode
一旦完成以上操作,重新登录或者重新加载.bashrc文件,使操作生效。
检查当前的 Python 版本。
2、 在系统级修改 Python 版本
我们可以使用update-alternatives来为整个系统更改 Python 版本。以 root 身份登录,首先罗列出所有可用的 python 替代版本信息:
如果出现以上所示的错误信息,则表示 Python 的替代版本尚未被update-alternatives命令识别。想解决这个问题,我们需要更新一下替代列表,将python2.7和python3.4放入其中。
--install选项使用了多个参数用于创建符号链接。最后一个参数指定了此选项的优先级,如果我们没有手动来设置替代选项,那么具有最高优先级的选项就会被选中。这个例子中,我们为/usr/bin/python3.4设置的优先级为2,所以update-alternatives命令会自动将它设置为默认 Python 版本。
接下来,我们再次列出可用的 Python 替代版本。
现在开始,我们就可以使用下方的命令随时在列出的 Python 替代版本中任意切换了。
3、移除替代版本
一旦我们的系统中不再存在某个 Python 的替代版本时,我们可以将其从update-alternatives列表中删除掉。例如,我们可以将列表中的 python2.7 版本移除掉。
❷ Linux Centos YUM 与 Python 的重装损坏修复记录
系统版本:CentOS 7.4
在尝试安装 Python3 时,不慎删除了 Python2,导致 yum 坏损,Python2 也被移除。经过国内外网络搜索,花费三天时间才解决此问题。
由于本人对 yum 命令和 Python 的了解有限,以下是在处理过程中总结的关键点,供参考:
1. yum 命令由 Python 编写(Python 2),因此没有安装 Python 2 无法使用,通常使用 Python 2.7。
2. Python 2 的安装方法有两种:下载源码编译安装或使用 rpm 命令安装。尝试了多种方法后,最终通过 rpm 安装成功。
3. 在重装 yum 和 Python 之前,请先删除残留文件,参考以下命令:
4. 开始安装前,先下载依赖包。由于没有 yum,需要手动下载,以下为所需包,版本号和文件名可能有所不同,但主名称一致。下载时注意系统版本(含 x86_64 的文件名)。
下载的包如下:
这些文件放置在同一目录下,但仍可能缺少依赖包。可能是版本太新或太旧,导致各种问题。请参考下一步操作。
5. 使用 rpm 命令安装,遇到提示缺少依赖包的错误时,到源镜像中查找所需依赖包,下载到目录中。
6. 如果所有 *.rpm 文件都安装完成后,说明安装已完成,但可能无法使用。由于 yum 是 Python 编写的软件(解释型开发语言可以直接查看源码),因此必须先确保 Python 安装成功后再安装 yum。执行 python -V 大概率不会有问题。如果出现问题,请先解决 rpm 安装 Python2.7 的问题。
如果此时输入 yum 命令,可能会直接报错。错误原因可能如下:
1. 查看 /usr/bin 目录下是否所有 python 命令都存在,执行 ls python* 查看结果,应有 python、python2、python2.7 等命令,可以执行查看是否有问题。如有问题,请先解决 rpm 安装 Python2.7 的问题。
2. 可能是 Python 系统环境变量未设置。请参考以下操作:(非常重要的一步)
如果这一步不正确,会有各种缺少 Python 模块的提示:No mole named xxxxxxx。
3. 以上步骤设置不正确,因此调试了 vi /usr/bin/yum 代码,查看 sys.path 路径。从另一台服务器查看路径后,在 /usr/bin/yum 中增加代码,强制指定目录,如下:
在 import sys 后增加路径,最后两行被注释的 print... 和 exit... 代码用于调试对比目录,可以尝试修改。
4. 将 Python 库路径添加到配置,不知道这一步是否有用,可以尝试。
5. 此时执行 yum 命令时,可能仍会出现相同问题,例如报缺:No mole named sos.plugins 或 from yum import Errors 缺 No mole named Errors 等。在 vi /usr/share/yum-cli/yummain.py 代码中,我在 import yum 后用 print(yum) 打印出来,显示类似以下内容:
会显示 import yum 的文件位置,.pyc 格式文件是做什么的,可以自行搜索。现在这步【【【【很重要】】】,我把这个文件重命名了,然后 yum 命令就恢复了,哈哈。
6. 实际测试发现,yum 命令只恢复了一半,因为各种 yum 命令执行一半时会报错,例如:No mole named urlgrabber.grabber。这是因为另一个地方的环境变量未设置正确。参考第 3 步强制添加的环境变量目录的方法,将 sys.path 添加到该文件:vi /usr/libexec/urlgrabber-ext-down。
7. 此时应该已恢复,使用 python 命令安装 pip 吧。有自动化安装脚本,可以下载。
8. 总结:
1. Python 2.7 是基础,在安装 yum 和 pip 之前必须先解决 Python 问题。安装 Python 的难点在于 rpm 的依赖包;安装 yum 的关键在于系统环境目录的设置,因为 yum 使用到 Python 的模块。
2. 国内找到的解决方案基本相同,但无法解决我的问题。感觉像是疑难杂症。在国外网站上找到解决思路后,感觉过程非常折腾!