PyCharm识别通过-e(可编辑模式)安装的自定义包但无法显示包内容的问题求助
PyCharm识别通过-e(可编辑模式)安装的自定义包但无法显示包内容的问题求助
各位好,我最近碰到了一个困扰我很久的PyCharm问题,想请教下有没有解决办法:
我通过可编辑模式(命令是-e 'git+https://.....@main#egg=package')安装了自己的自定义Python包,日常用pip-tools的pip-compile编译依赖、pip-sync安装依赖。现在的情况是:
- PyCharm的解释器已安装包列表里,这个包明确显示为“已安装”
- 代码实际运行、测试完全正常,没有任何功能问题
- 但PyCharm就是识别不到包的源码内容:所有该包的导入语句都标红,没有自动补全,“外部库”里也看不到包的源码,没法快速跳转查看,对开发效率影响极大
这个问题是最近几个PyCharm版本才出现的,之前一直工作正常。我推测根源是:可编辑模式安装的包,实际源码不在site-packages目录下,只有.pth或.dist-*这类指向文件在site-packages里,所以PyCharm只认出了包“已安装”,但没有去扫描实际存放源码的路径——我的包内容其实在虚拟环境的src文件夹(~/.virtualenv/myenv/src/package-name/)里,但PyCharm现在似乎不再主动扫描这个位置了。
我已经尝试了以下几种方案,但都没能解决问题:
- 给这个包添加了
pyproject.toml配置,以为是旧配置不兼容的问题,没用 - 将pip、setuptools、wheel都更新到了最新版本,排除工具版本问题
我不想用这些比较麻烦的临时解决办法:
- 去掉
-e参数安装包:这样每次更新包都要先清除pip缓存,或者指定commit hash安装,操作太繁琐 - 手动将包的src路径添加到PyCharm的源码目录:纯手动操作,换环境就得重新设置,不够优雅
目前我打算给JetBrains提交支持工单,因为这看起来是个边缘场景的bug——我也找到了官方的问题追踪记录,确认这和PyCharm对PEP 660可编辑安装的支持有关。
有没有大佬遇到过同样的问题,或者有更顺畅的解决方式?
内容来源于stack exchange
相关产品推荐
相关产品推荐

