我目前正在使用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/