我目前正在使用pycharm编写python,但是在导入本地代码方面遇到了令人讨厌的障碍。我敢肯定这是由于我配置了pycharm的方式,但我无法弄清楚。

我的项目看起来像这样

project_folder
     |
     |___code
     |     |__ __init__.py
     |     |__ funs.py
     |     |__ prog.py
     |
     |___Other folders


所以在prog.py中,我有import funs,当我从python ./code/prog.py级别运行project_folder时,它可以正常工作。但是,当我在pycharm中的交互式控制台中时,会出现此错误。我可以使其在交互式控制台中工作的唯一方法是运行import code.funs

跑步

import os
os.getcwd()


在交互式控制台中和在命令行中都返回D:\\project_folder,所以我有点茫然,这是为什么行为如此不同。

最佳答案

当您运行python ./code/prog.py时,Python将code添加到PYTHONPATH中,以便import funs解析。默认情况下,在PyCharm中运行时,仅将项目根目录添加到PYTHONPATH,因此找不到funs

一个简单的解决方法是,右键单击code目录,将其标记为源根目录。将目录标记为... |源根。 PyCharm会将所有源根添加到PYTHONPATH

sys.path.append('./code/')的工作原理相同,但是我认为它有点难看。

关于python - (pycharm)在交互式控制台和命令行中导入之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49829319/

10-13 07:52
查看更多