为什么从文件导入函数会给出"未解析的参考[文件名]"?

时间:2017-05-12 20:58:36

标签: python intellij-idea python-import

我在同一目录中的Intellij中有两个文件:__init__.py__resources__.py

__init__.py被设置为我的"运行配置"中的脚本,因此当我按运行按钮时它将运行。

我在__init__.py中的导入代码如下:

from __resources__ import func_test
func_test()

但是,from __resources__会出错:Unresolved reference '__resources__'

这是我项目的文件结构:

Project Structure

我认为它可能与PYTHONPATHPATH环境变量有关,但我不确定要改变什么。我将目录添加到两个路径中。

2 个答案:

答案 0 :(得分:1)

您不应将主应用程序代码放在__init__.py中。使用__main__.py(如果您想直接调用包,例如在zip文件中)或只使用以项目命名的模块(例如foo.py)。您还应该知道,Python保留任何以两个下划线开头和结尾的符号 - 您应该避免使用该模式的任何名称,除非您打算使用该语言的文档功能。

答案 1 :(得分:0)

“你也应该知道,任何以两个下划线开头和结尾的符号都是由Python保留的 - 你应该避免使用任何带有该模式的名称,除非你打算使用该语言的文档功能。” -Daniel Pryden

基本上,将__resources__.py重命名为resources.py并重新启动Intellij以解决问题。