前言
网上有很多针对该问题的解答,但是细节并没有讲清楚,所以评论里依然有不少人表示无法解决问题。因此,本文会将解决方案尽量讲清楚。
问题描述
在pycharm里会出现无法识别自己写的包,例如,有如下文件结构:
我们在a.py中写了一个方法func(),希望在b.py中导入这个方法,但是会出现如下问题:
解决方法
首先,右击你希望引用的文件夹的上级目录,点击Mark Directory as:,选择Sources Root
这里是关键,很多文章中的表述让人误以为应该把包文件夹标记为Sources Root。事实上,这并没有用。
如果上述方法还没有用,那么进入file-settings:
进入如图所示的Python Console,勾选Add source roots to PYTHONPATH
设置成功后,红线消失,并且可以通过按住Ctrl+左键进入源码
这样设置后应该能解决大部分人的问题了,如果还有问题,请检查系统路径是否有误。