You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RedHat系统virtualenv创建虚拟环境误用Python3.6版本问题咨询

核心原因
  • 你创建虚拟环境时重复指定了解释器参数:--python=/usr/local/bin/python3.7 和 -p python3 同时传入时,后面的-p python3优先级更高,会直接调用PATH里排在最前面的系统Python3.6
  • RHEL8 绝对不能卸载自带的Python3.6,系统dnf/yum包管理器、大量底层系统组件都强依赖这个版本,强行卸载会直接导致系统工具链瘫痪
  • 加sudo执行virtualenv时,root用户的PATH默认优先读取/usr/bin下的系统可执行文件,会覆盖你自定义安装的Python3.7的路径优先级
  • 你之前用update-alternatives --config python没生效,是因为系统默认python3命令的软链接根本没被纳入alternatives管理,你改python的指向不会影响python3的调用逻辑

解决方法

方法一:直接用Python3.7自带的venv创建(零配置,最稳妥)

不要用全局的virtualenv命令,也不要加sudo(虚拟环境存在当前用户目录完全不需要root权限),直接调用你安装的Python3.7解释器内置的venv模块,100%不会串版本:

# 先删掉之前创建错误的虚拟环境
rm -rf app_virtual
# 用目标Python解释器直接创建虚拟环境
/usr/local/bin/python3.7 -m venv app_virtual
# 激活环境
source app_virtual/bin/activate
# 验证版本
python --version

如果一定要用virtualenv,只保留一个解释器参数即可,不要重复传-p:

rm -rf app_virtual
virtualenv --python=/usr/local/bin/python3.7 app_virtual
source app_virtual/bin/activate

方法二:正确配置update-alternatives设置Python3默认版本

之前的配置操作没生效是因为没给python3注册候选项,按以下命令重新配置即可:

# 注册两个Python3版本到alternatives管理,末尾数字是优先级,数字越大优先级越高
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.7 2
# 执行选择命令,选对应Python3.7的编号回车即可
sudo update-alternatives --config python3
# 验证默认版本
python3 --version

注意:不要修改/usr/bin/python的默认指向,RHEL8下该软链默认指向Python2,部分老系统脚本依赖这个配置,改动后可能导致系统工具运行异常。

方法三:给Python3.7安装独立的virtualenv

如果以上操作还是不生效,说明你当前用的virtualenv本身就是安装在Python3.6环境下的,默认绑定了3.6解释器,给Python3.7单独装一套virtualenv即可:

# 用Python3.7的pip安装对应版本的virtualenv
/usr/local/bin/python3.7 -m pip install virtualenv
# 调用Python3.7对应的virtualenv创建环境
/usr/local/bin/virtualenv --python=/usr/local/bin/python3.7 app_virtual
source app_virtual/bin/activate

校验标准

激活虚拟环境后执行以下命令,输出符合预期就说明配置正确:

which python
# 正常输出应为:<你的虚拟环境所在路径>/app_virtual/bin/python
python --version
# 正常输出应为:Python 3.7.4

内容的提问来源于stack exchange,提问作者rpjs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 20:48:28