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

雪夜
发布: 2025-08-12 13:50:02
原创
533人浏览过

<ol><li>查看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版本管理问题的关键。</li></ol>

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

在Linux系统里,想知道当前装的Python是哪个版本,最直接的方法就是打开终端,敲入

python --version
登录后复制
或者
python3 --version
登录后复制
。这能迅速告诉你系统默认或你正在使用的Python解释器版本号。但如果想深入了解更多,比如它的安装路径、是不是多个版本并存,那就要用点别的招数了。

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

最基础的当然是:

立即学习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.7
登录后复制
python3.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。很多系统工具、脚本(比如

yum
登录后复制
apt
登录后复制
等)都是用Python编写的。这些系统级别的Python版本(通常是Python 2.x,或者较旧的Python 3.x)是系统正常运行的基石,你不能轻易动它,否则系统可能就“瘫痪”了。它们通常安装在
/usr/bin/python
登录后复制
/usr/bin/python2
登录后复制
这类路径下。

网龙b2b仿阿里巴巴电子商务平台
网龙b2b仿阿里巴巴电子商务平台

本系统经过多次升级改造,系统内核经过多次优化组合,已经具备相对比较方便快捷的个性化定制的特性,用户部署完毕以后,按照自己的运营要求,可实现快速定制会费管理,支持在线缴费和退费功能财富中心,管理会员的诚信度数据单客户多用户登录管理全部信息支持审批和排名不同的会员级别有不同的信息发布权限企业站单独生成,企业自主决定更新企业站信息留言、询价、报价统一管理,分系统查看分类信息参数化管理,支持多样分类信息,

网龙b2b仿阿里巴巴电子商务平台 0
查看详情 网龙b2b仿阿里巴巴电子商务平台

作为开发者,我们可能需要更新、更特定版本的Python。比如,系统自带的是Python 3.6,但你的项目需要Python 3.9的新特性。这时候,你可能会通过

pyenv
登录后复制
asdf
登录后复制
或者直接从源代码编译安装一个新的Python版本。这些版本通常安装在用户目录下(如
~/.pyenv/versions/
登录后复制
)或者
/usr/local/bin/
登录后复制
。它们是为开发目的而生,与系统Python相互独立。

再者,虚拟环境(

venv
登录后复制
conda
登录后复制
virtualenv
登录后复制
等)也是“多个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 found
登录后复制
python3: command not found
登录后复制
这通常意味着Python解释器不在你的
PATH
登录后复制
环境变量里,或者根本就没安装。

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

问题2:

python --version
登录后复制
python3 --version
登录后复制
显示的版本不一致,或者和预期不符
这是多版本并存的典型表现。

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

问题3:

pip
登录后复制
安装的包,在
python
登录后复制
里却找不到
这几乎可以肯定是你用的
pip
登录后复制
python
登录后复制
不是同一个解释器下的。比如,你用
pip2
登录后复制
安装了包,却想在
python3
登录后复制
里导入。

  • 解决方案:
    • 始终使用与你当前
      python
      登录后复制
      版本对应的
      pip
      登录后复制
      。最稳妥的方式是:
      python -m pip install <package_name>
      python3 -m pip install <package_name>
      登录后复制

      这样就能确保

      pip
      登录后复制
      是在当前
      python
      登录后复制
      解释器的上下文中运行的。

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

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

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

处理这些问题,关键在于理解Linux的

PATH
登录后复制
环境变量、软链接机制以及虚拟环境的隔离作用。多用
which
登录后复制
命令和
echo $PATH
登录后复制
,就能逐步理清头绪。

以上就是查看Python版本怎样在Linux系统信息中查看 查看Python版本的系统信息查询技巧​的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号