我目前正在使用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
,所以我有点不知道为什么这种行为如此不同。
答案 0 :(得分:1)
当您运行python ./code/prog.py
时,Python会将code
添加到PYTHONPATH
,以便import funs
解析。默认情况下,在PyCharm中运行时,项目根目录已添加到PYTHONPATH
,因此无法找到funs
。
一个简单的解决方法是使用右键单击|将code
目录标记为源根目录将目录标记为... |源根。 PyCharm会将所有源根添加到PYTHONPATH
。
sys.path.append('./code/')
的效果相同,但我相信它有点难看。
答案 1 :(得分:0)
作为参考,我设法通过包含
来解决问题import sys
sys.path.append('./code/')
在我的程序顶部