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

Python多版本问题咨询:设置Python3.9为默认及ModuleNotFoundError排查

问题解决:设置Python3.9为默认版本及第三方模块缺失问题

一、将Python3.9设为python3默认版本

根据你是否拥有管理员权限,提供两种可行方案:

方案1:用户级别名设置(无sudo权限可用)

  • 临时生效:在当前终端执行以下命令,重启终端后失效:
    alias python3=$(which python3.9)
    
    先执行which python3.9确认Python3.9的安装路径,确保路径无误。
  • 永久生效:编辑你的shell配置文件(如~/.bashrc或~/.zshrc,取决于使用的shell),在文件末尾添加上述alias命令,然后执行:
    source ~/.bashrc  # 对应bash环境
    # 或 source ~/.zshrc 对应zsh环境
    

方案2:系统级版本管理(需sudo权限)

如果管理员允许使用sudo,可通过update-alternatives工具切换默认版本:

  1. 将Python3.6和3.9加入备选列表:
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2
    
    末尾数字为优先级,数字越大优先级越高。
  2. 选择默认版本:
    sudo update-alternatives --config python3
    
    按提示输入对应Python3.9的序号即可完成切换。

二、Python3.9导入第三方库报错的原因及解决

原因

每个Python版本都有独立的site-packages目录(用于存放第三方模块),你之前通过python3(即Python3.6)安装的模块,都存储在Python3.6的专属目录中,Python3.9无法直接访问该路径,因此会抛出ModuleNotFoundError。

解决办法

  1. 用Python3.9的pip安装对应模块:
    先确认Python3.9的pip工具存在,执行which pip3.9,然后用它安装所需模块:
    # 系统级安装(需sudo权限)
    sudo pip3.9 install pandas
    # 用户级安装(无sudo权限,模块将安装在个人目录)
    pip3.9 install --user pandas
    
    将pandas替换为你需要的其他模块即可。
  2. 临时方案:手动添加Python3.6的模块路径(不推荐):
    若不想重新安装模块,可临时在脚本开头添加Python3.6的site-packages路径,但可能引发版本兼容问题:
    先获取Python3.6的模块路径:
    python3 -c "import site; print(site.getsitepackages())"
    
    然后在脚本开头添加:
    import sys
    sys.path.append('/usr/lib/python3.6/site-packages')  # 替换为实际输出的路径
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 14:05:17