登录
首页 >  文章 >  python教程

Linux查看Python版本及系统信息方法

时间:2025-08-08 21:51:53 414浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是文章学习者,那么本文《Linux下查看Python版本的系统信息方法》就很适合你!本篇内容主要包括##content_title##,希望对大家的知识积累有所帮助,助力实战开发!

  1. 查看Python版本最直接的方法是使用命令 python --version 或 python3 --version;2. 要确定Python可执行文件路径,使用 which python 或 which python3;3. 通过 ls -l /usr/bin/python* 可查看系统中所有Python相关软链接和实际版本;4. Debian/Ubuntu系统可用 update-alternatives --display python 查看版本管理配置;5. RHEL/CentOS系统可通过 rpm -qa | grep python 查询已安装的Python相关包;6. 虚拟环境中显示的版本仅限该环境,需退出后重新检查才能获取系统全局版本;7. 系统自带Python用于系统工具运行,开发者安装的Python用于项目需求,虚拟环境则提供项目级隔离;8. 推荐使用 pyenv 管理多版本Python,避免修改系统Python;9. conda 适合数据科学场景,提供完整的环境与依赖管理;10. 使用 venv 可创建轻量级虚拟环境实现项目依赖隔离;11. 遇到“command not found”时需检查Python是否安装及PATH是否包含其路径;12. 当版本显示不一致时,应检查软链接指向和虚拟环境状态;13. pip与python不匹配会导致包无法导入,应使用 python -m pip install 确保一致性;14. 环境变量未持久化会导致终端重启后配置失效,需将设置写入 ~/.bashrc 或 ~/.zshrc 并执行 source 命令生效。正确理解PATH、软链接和虚拟环境机制是解决Python版本管理问题的关键。

查看Python版本怎样在Linux系统信息中查看 查看Python版本的系统信息查询技巧​

在Linux系统里,想知道当前装的Python是哪个版本,最直接的方法就是打开终端,敲入 python --version 或者 python3 --version。这能迅速告诉你系统默认或你正在使用的Python解释器版本号。但如果想深入了解更多,比如它的安装路径、是不是多个版本并存,那就要用点别的招数了。

要全面摸清Linux系统里Python的底细,光看版本号还不够。我通常会这么操作:

最基础的当然是:

python --version
# 或者如果你主要用Python 3
python3 --version

这给的是当前默认或者你命令行里直接调用的那个Python版本。但很多时候,系统里不止一个Python。

想知道这个Python可执行文件到底在哪儿?用 which 命令:

which python
which python3

这会告诉你它的绝对路径,比如 /usr/bin/python。知道了路径,你就能推测它是不是系统自带的,还是通过其他方式安装的。

进一步地,如果想看系统里可能存在的其他Python可执行文件,尤其是那些通过软链接指向的:

ls -l /usr/bin/python*

这能列出 /usr/bin/ 下所有以 python 开头的文件或软链接,经常能发现 python 指向 python2.7python3.8 这样的真实版本。

对于Debian/Ubuntu系的用户,系统可能通过 update-alternatives 管理多个Python版本。查看它能让你对系统层面的Python配置有个清晰的认识:

update-alternatives --display python

这会显示 python 这个命令当前指向哪个具体的Python版本,以及有哪些备选。

如果是RHEL/CentOS,通过包管理器查询也是个办法,能看到安装了哪些Python相关的RPM包:

rpm -qa | grep python

这会列出所有已安装的包含“python”关键词的RPM包,虽然不直接显示“当前版本”,但能提供一个包管理层面的视角。

最后,别忘了虚拟环境(venv或conda)。如果你在一个激活的虚拟环境里,python --version 显示的是虚拟环境里的版本,而不是系统全局的。退出虚拟环境再查,才能看到全局的。这一点,我踩过不少坑,以为系统Python版本变了,结果只是忘了退出 venv

为什么我的Linux系统里有多个Python版本?它们有什么区别?

这个问题,几乎每个在Linux上做Python开发的人都会遇到。我的电脑上,光是“Python”这个名字,可能就对应着好几个实际的解释器。这主要有几个原因:

Linux系统本身需要Python。很多系统工具、脚本(比如yumapt等)都是用Python编写的。这些系统级别的Python版本(通常是Python 2.x,或者较旧的Python 3.x)是系统正常运行的基石,你不能轻易动它,否则系统可能就“瘫痪”了。它们通常安装在 /usr/bin/python/usr/bin/python2 这类路径下。

作为开发者,我们可能需要更新、更特定版本的Python。比如,系统自带的是Python 3.6,但你的项目需要Python 3.9的新特性。这时候,你可能会通过 pyenvasdf 或者直接从源代码编译安装一个新的Python版本。这些版本通常安装在用户目录下(如 ~/.pyenv/versions/)或者 /usr/local/bin/。它们是为开发目的而生,与系统Python相互独立。

再者,虚拟环境(venvcondavirtualenv等)也是“多个Python版本”的体现。每个虚拟环境都创建了一个独立的Python解释器副本和包管理空间。这样做的好处是,不同项目的依赖包可以完全隔离,避免版本冲突。你在这个环境里安装的任何库,都不会影响到系统全局的Python或者其他项目的Python环境。这是我日常开发中最常用的方式,能有效避免“依赖地狱”。

简而言之,系统Python是给系统用的,开发者安装的Python是给你自己项目用的,而虚拟环境里的Python是给特定项目“量身定制”的。理解这三者的区别,是高效管理Python环境的关键。

如何安全地管理和切换Linux上的Python版本?

管理Linux上的Python版本,最核心的原则就是:永远不要直接修改或删除系统自带的Python。这是个雷区,踩了轻则某个命令跑不起来,重则系统都可能无法启动。我的经验是,最好使用专门的工具来处理。

我个人最推荐的是 pyenv。它是一个Python版本管理工具,允许你在同一台机器上安装和管理多个Python版本,并且可以轻松地在不同版本之间切换。它的工作原理是修改你的 PATH 环境变量,让 python 命令指向你当前选择的版本。安装 pyenv 后,你可以用它安装任意Python版本:

pyenv install 3.9.12
pyenv global 3.9.12 # 设置全局默认版本
pyenv local 3.8.10 # 为当前目录设置特定版本

pyenv 的好处在于,它将不同版本的Python安装在用户目录下,不会和系统Python冲突。

另一个流行的选择是 conda(Miniconda或Anaconda)。如果你主要做数据科学或机器学习,conda 提供了强大的环境管理功能,不仅能管理Python版本,还能管理各种科学计算库及其依赖。它的环境隔离做得非常好:

conda create -n myenv python=3.9
conda activate myenv

conda 的生态系统非常完善,但相比 pyenv 来说,它更“重”一些。

对于轻量级的项目隔离,Python自带的 venv 模块是首选。它不需要额外安装工具,直接就能用:

python3 -m venv myproject_env
source myproject_env/bin/activate

每次进入项目目录时激活对应的虚拟环境,就能确保项目依赖的独立性。这是我处理多数项目依赖的默认方式,简单直接,效率很高。

对于Debian/Ubuntu用户,如果你确实需要在系统层面调整 python 命令的指向(例如,让 python 默认指向 python3 而不是 python2),可以使用 update-alternatives。但这需要谨慎操作,并且通常只推荐给那些明确知道自己在做什么的系统管理员:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1
sudo update-alternatives --config python

这个命令会提示你选择 python 命令应该指向哪个具体的解释器。但请记住,这会影响到所有依赖 python 命令的系统脚本。所以,除非万不得已,我更倾向于在用户层面通过 pyenv 或虚拟环境来管理。

检查Python版本时可能遇到的常见问题和解决方案

在Linux上查看或使用Python时,总会遇到些让人头疼的小状况。我总结了几类常见问题,希望能帮你少走弯路。

问题1:python: command not foundpython3: command not found 这通常意味着Python解释器不在你的 PATH 环境变量里,或者根本就没安装。

  • 解决方案:
    • 确认是否真的安装了Python。新装的Linux系统可能默认只带Python 2,或者根本没装。
    • 检查 PATH 环境变量:echo $PATH。看看Python的安装路径(比如 /usr/bin~/.pyenv/shims)是否在其中。如果不在,需要添加到 .bashrc.zshrc 文件中并 source 更新。
    • 如果使用了 pyenvconda,确保它们的环境变量设置正确,并且你已经 pyenv initconda init

问题2:python --versionpython3 --version 显示的版本不一致,或者和预期不符 这是多版本并存的典型表现。

  • 解决方案:
    • 明确你到底想用哪个Python。系统默认的 python 可能指向Python 2,而 python3 才指向Python 3。
    • 如果你在虚拟环境里,确保虚拟环境已激活。在激活的虚拟环境里,python 命令通常会指向虚拟环境内部的Python版本。退出虚拟环境(deactivate)再查,就能看到全局的Python版本。
    • 检查软链接:ls -l /usr/bin/python 可以看出 python 命令实际指向哪个具体的解释器。

问题3:pip 安装的包,在 python 里却找不到 这几乎可以肯定是你用的 pippython 不是同一个解释器下的。比如,你用 pip2 安装了包,却想在 python3 里导入。

  • 解决方案:
    • 始终使用与你当前 python 版本对应的 pip。最稳妥的方式是:
      python -m pip install 
      python3 -m pip install 

      这样就能确保 pip 是在当前 python 解释器的上下文中运行的。

    • 在虚拟环境里,激活环境后直接用 pip install 即可,它会自动关联到当前环境的Python。

问题4:在新的终端会话中,之前设置的Python版本又变回去了 这通常是环境变量没有持久化的原因。

  • 解决方案:
    • 确保所有修改 PATHpyenv init 等命令都写入了你的 shell 配置文件,比如 ~/.bashrc~/.zshrc~/.profile。每次打开新终端时,这些文件都会被执行,从而加载你的配置。修改后记得 source ~/.bashrc 来立即生效。

处理这些问题,关键在于理解Linux的 PATH 环境变量、软链接机制以及虚拟环境的隔离作用。多用 which 命令和 echo $PATH,就能逐步理清头绪。

理论要掌握,实操不能落!以上关于《Linux查看Python版本及系统信息方法》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>