更改linux系统的默认Python版本方式

 更新时间:2025年08月07日 14:38:11   作者:年六季  
通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv等工具管理版本

更改系统的默认Python版本

查看/usr/bin目录下所有以python开头的可执行文件,然后删除/usr/bin下的python链接,并创建一个新的指向python3.6的软链接。

以下是这些命令的详细解释:

  • 查看所有Python可执行文件
ls /usr/bin/python*

这个命令会列出/usr/bin目录下所有以python开头的文件。

  • 删除python链接
rm -rf /usr/bin/python

这个命令会删除/usr/bin目录下的python链接。

请注意,如果python是一个文件或目录,r参数是不必要的。通常,我们使用rm来删除文件。

  • 创建软链接
sudo ln -s /usr/bin/python3.6 /usr/bin/python

这个命令会创建一个新的软链接/usr/bin/python,它指向/usr/bin/python3.6

通过这些步骤,可以安全地更改系统的默认Python版本。

创建了软链接 /usr/bin/python 指向 /usr/bin/python3.6 之后,当你在 Bash 环境下输入 python 并按下回车,系统会通过软链接找到实际的 python3.6 可执行文件并执行它。

这意味着,尽管系统上可能安装了多个版本的 Python,通过软链接你可以自定义当你输入 python 时应该执行哪个版本。

这种做法在很多系统中很常见,因为 Python 2 和 Python 3 不能在同一环境中直接替换使用,软链接提供了一种方便的解决方案。

然而,需要注意的是,这种做法可能会带来一些潜在的问题:

  1. 版本冲突:如果你的系统上同时安装了 Python 2 和 Python 3,并且你将 python 链接到了 Python 3,那么一些依赖 Python 2 的程序可能无法正常工作。
  2. 环境混乱:如果你的系统中有多个用户或者多个应用程序依赖于不同版本的 Python,改变默认的 python 命令可能会造成混淆或冲突。
  3. 维护问题:在未来,如果需要重新安装或升级 Python,可能需要重新配置软链接。

因此,在创建这样的软链接之前,最好确保了解它可能对你的系统和应用程序造成的影响。

在一些情况下,使用 python3python3.6 等具体命令来明确指定版本可能更安全、更清晰。此外,使用 pyenvcondavirtualenv 等工具来管理不同版本的 Python 也是一个不错的选择。

软链接

在Linux系统中,软链接(也称为符号链接)是一种特殊类型的文件,它包含了对另一个文件或目录的引用路径。

它类似于Windows中的快捷方式。软链接可以让你为一个文件或目录创建一个简短或不同的名字,而不需要复制原始文件。

软链接的特点

  1. 透明性:软链接文件和目标文件在系统中是透明的,系统会将软链接视为指向的目标文件。
  2. 易变性:如果目标文件被移动或删除,软链接会失效,称为“悬挂的链接”。
  3. 跨文件系统:软链接可以跨越不同的文件系统链接文件。
  4. 权限继承:软链接的权限通常与目标文件的权限相同。

创建软链接的命令

ln -s [目标文件] [软链接名]
  • -s 参数表示创建软链接。
  • [目标文件] 是你想要链接到的实际文件的路径。
  • [软链接名] 是软链接的路径和名称。

示例:

sudo ln -s /usr/bin/python3.6 /usr/bin/python

这个命令创建了一个名为python的软链接,它指向/usr/bin/python3.6

这样,当你在命令行中输入python时,系统实际上是执行/usr/bin/python3.6

使用场景

  1. 版本管理:如上例,可以为不同版本的Python创建软链接,方便切换和使用。
  2. 简化路径:为长路径创建简短的软链接,便于记忆和使用。
  3. 备份:为重要文件创建软链接,以便于快速访问备份文件。

注意事项

  • 删除软链接不会影响目标文件。
  • 如果目标文件被删除,软链接将不再有效。
  • 软链接可以指向文件或目录,但它们不能跨越不同的物理存储设备。

软链接是一种灵活的工具,可以帮助你更有效地组织和管理文件系统。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python+OpenCV实现车牌号码识别

    python+OpenCV实现车牌号码识别

    这篇文章主要介绍了python+OpenCV实现车牌号码识别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Python使用zipfile解压文件中文乱码问题的具体原因和解决方案

    Python使用zipfile解压文件中文乱码问题的具体原因和解决方案

    在 Python 中使用 zipfile 模块解压文件时,中文文件名乱码通常是由于 ZIP 文件的编码标准不统一 导致的,本文给大家介绍了详细的原因和解决方案,需要的朋友可以参考下
    2025-09-09
  • Python文件的读写和异常代码示例

    Python文件的读写和异常代码示例

    这篇文章主要介绍了Python文件的读写和异常代码示例,首先分享了文件读写的简单方法,然后略为详细地介绍了Python异常的相关内容,不足之处,欢迎补充。
    2017-10-10
  • Python分割单词和转换命名法的实现

    Python分割单词和转换命名法的实现

    本文主要介绍了Python分割单词和转换命名法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • pytest配置文件pytest.ini的具体使用

    pytest配置文件pytest.ini的具体使用

    本文主要介绍了pytest配置文件pytest.ini的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • python 对一幅灰度图像进行直方图均衡化

    python 对一幅灰度图像进行直方图均衡化

    这篇文章主要介绍了python 如何对一幅灰度图像进行直方图均衡化,帮助大家更好的利用python处理图像,感兴趣的朋友可以了解下
    2020-10-10
  • Python中内存管理机制与优化技巧分享

    Python中内存管理机制与优化技巧分享

    这篇文章主要来和大家简单聊一聊Python中的内存管理,从而可以帮助大家写出更高效,优化内存占用的 Python 代码,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-04-04
  • Python运算符之比较运算符的核心概念与实践方法

    Python运算符之比较运算符的核心概念与实践方法

    这篇文章主要为大家详细介绍了Python运算符中比较运算符(等于,不等于,大于,小于等)的核心概念与实践方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2026-05-05
  • 在Python下进行UDP网络编程的教程

    在Python下进行UDP网络编程的教程

    这篇文章主要介绍了在Python下进行UDP网络编程的教程,UDP编程是Python网络编程部分的基础知识,示例代码基于Python2.x版本,需要的朋友可以参考下
    2015-04-04
  • 详解Python if-elif-else知识点

    详解Python if-elif-else知识点

    本篇文章给大家总结了Python中if-elif-else的相关知识点以及语法相关内容,有兴趣的朋友参考学习下。
    2018-06-06

最新评论