You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

多Python版本共存问题:Python 3.13的pip报错ModuleNotFoundError: No module named 'importlib._abc'

多Python版本共存问题:Python 3.13的pip报错ModuleNotFoundError: No module named 'importlib._abc'

这种情况我之前也碰到过,核心原因就是32位Python 3.9和64位Python 3.13的环境关联搞混了——系统调用pip的时候,误用到了32位版本的相关依赖,导致64位3.13的pip找不到自己需要的importlib._abc模块。给你几个亲测有效的解决办法:

  • 精准指定Python版本调用pip
    别直接用pip命令,而是通过对应Python版本的可执行文件来调用pip,这样能彻底绕开环境变量的冲突。比如对于64位Python 3.13,直接用:

    python3.13 -m pip [你的命令,比如install 包名]
    

    如果系统识别不了python3.13,就用完整路径,比如Windows下一般是C:\Python313\python.exe -m pip ...

  • 修复Python 3.13的pip绑定
    打开命令提示符,用3.13的Python重新安装并升级pip,强制绑定正确的版本:

    python3.13 -m ensurepip --upgrade
    

    这个命令会重新给3.13生成专属的pip环境,不会再和3.9 32位的内容混在一起。

  • 用Python Launcher精准切换版本
    Windows安装Python时默认会自带Python Launcher,用它能精准定位到对应位宽的版本,完全不会搞混:

    • 调用64位3.13的pip:py -3.13-64 -m pip ...
    • 调用32位3.9的pip:py -3.9-32 -m pip ...
      这是我最推荐的方法,不管装多少版本,用这个都能精准调用。
  • 调整环境变量顺序(可选)
    把64位Python 3.13的安装路径(比如C:\Python313C:\Python313\Scripts)移到系统环境变量Path的最顶部,这样系统会优先找到3.13的文件。不过这个方法有个小缺点:如果之后要频繁切换到3.9,可能需要临时调整Path,不如用Python Launcher方便。

另外提醒下,安装多个Python版本时,尽量不要让不同位宽的版本的Scripts目录(pip所在目录)在Path里优先级混乱,用上面的精准调用方法基本就能解决90%的共存问题了。

备注:内容来源于stack exchange,提问作者Hanuman

火山引擎 最新活动