当前位置:首页 > 文章列表 > 文章 > python教程 > Linux查看Python版本及系统信息方法

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

2025-08-08 21:51:53 0浏览 收藏

在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 <package_name>
      python3 -m pip install <package_name>

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

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

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

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

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

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

JavaPOI操作Excel教程:读写表格指南JavaPOI操作Excel教程:读写表格指南
上一篇
JavaPOI操作Excel教程:读写表格指南
Win11截屏快捷键汇总及使用教程
下一篇
Win11截屏快捷键汇总及使用教程
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    511次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    498次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 千音漫语:智能声音创作助手,AI配音、音视频翻译一站搞定!
    千音漫语
    千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
    127次使用
  • MiniWork:智能高效AI工具平台,一站式工作学习效率解决方案
    MiniWork
    MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
    124次使用
  • NoCode (nocode.cn):零代码构建应用、网站、管理系统,降低开发门槛
    NoCode
    NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
    137次使用
  • 达医智影:阿里巴巴达摩院医疗AI影像早筛平台,CT一扫多筛癌症急慢病
    达医智影
    达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
    134次使用
  • 智慧芽Eureka:更懂技术创新的AI Agent平台,助力研发效率飞跃
    智慧芽Eureka
    智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
    135次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码