pip安装editable可编辑模式Python包成功但导入和查询均找不到模块
问题原因
你遇到的是Windows平台下Python 3.6 + setuptools 59.x版本的兼容性bug,可编辑安装过程中setuptools没有自动创建easy-install.pth文件,也没有将源码根目录写入该文件:
- pip卸载时会扫描
site-packages目录下的.egg-link文件识别安装记录,所以能检测到已安装的SymCircuit - Python解释器导入包时只会扫描
sys.path列表内的路径,没有easy-install.pth写入的源码路径就找不到symcircuit模块
非可编辑安装会直接把包文件复制到site-packages目录,不需要依赖pth文件,所以可以正常使用。
解决方案
方案1:手动修复(最快生效)
- 进入虚拟环境的第三方包目录:
c:\test\env\lib\site-packages\ - 手动新建名为
easy-install.pth的纯文本文件(注意删掉默认的.txt后缀) - 在文件内写入一行内容:
C:\path\to\my\PySymCircuit(替换为你实际的源码根目录绝对路径) - 重新激活虚拟环境即可正常使用。
方案2:降级setuptools版本永久修复
Python 3.6最高支持的稳定兼容setuptools版本为58.5.3,降级后可解决自动写入问题:
# 先卸载当前setuptools pip uninstall setuptools -y # 安装兼容版本 pip install setuptools==58.5.3 # 重新执行可编辑安装 pip install -e C:\path\to\my\PySymCircuit
验证方法
执行以下命令确认配置生效:
# 确认模块可导入 python -c "import symcircuit;print('导入成功')" # 确认pip可识别包 pip show SymCircuit
内容的提问来源于stack exchange,提问作者Martok
相关产品推荐
相关产品推荐

