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

已安装setuptools执行setup.py sdist仍报ModuleNotFoundError错误

根本原因

本地存在多套独立Python环境,python、pip、easy_install三个命令分别绑定了不同环境的可执行文件,环境之间的包完全不互通:

  • easy_install 绑定的是 C:\Users\MY PC\AppData\Local\Programs\Python\Python38\ 目录下的官方原生Python 3.8,该环境安装了setuptools 41.2.0
  • pip 绑定的是Anaconda内置的Python环境,路径为 C:\Users\MY PC\anaconda3\,该环境安装了setuptools 52.0.0
  • 终端中直接调用的python命令,既不指向上述原生Python3.8,也不指向Anaconda的Python,大概率指向了未安装setuptools的其他虚拟环境、或系统中残留的其他Python版本,因此运行打包脚本时触发模块找不到的报错。
解决方法
  1. 先定位当前终端默认调用的python解释器真实路径,在PowerShell中执行以下命令:
python -c "import sys; print(sys.executable)"

命令输出的完整路径,就是你当前敲python时实际运行的程序位置。
2. 针对这个确定的解释器安装setuptools,不要直接调用全局pip,用解释器本身调用pip模块完成安装,避免再次串到其他环境:

<上一步输出的python完整路径> -m pip install setuptools

举个例子,如果上一步输出的路径是D:\pyenv\test38\python.exe,就执行D:\pyenv\test38\python.exe -m pip install setuptools。
3. 安装完成后,用同一个解释器路径执行打包命令即可:

<上一步输出的python完整路径> setup.py sdist

长期规避方案:把你日常要用的Python安装目录、以及目录下的Scripts子文件夹,挪到系统环境变量PATH的最靠前位置,让终端优先识别你需要的版本,从根源上避免多环境命令串扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 13:39:38