我对Python很陌生。我的文件helpers.py
(在根目录中)与
def my_func(integer, tokenizer):
和models/attention.py
(在models
子目录中)中另一个调用该函数的函数:
from helpers import my_func
....
def another_func(input_seq, tokenizer):
some_val = my_func(index, tokenizer)
PyCharm非常高兴,我可以单击它来导航到my_func
定义。但是,在运行或调试时,我从import
的{{1}}行收到错误消息。
attention.py
是因为帮助程序模块位于根目录中?
如果相关,我将在macOS的Conda环境中运行Python 3.6。
更新:我的代码中只有一个ImportError: cannot import name 'my_func'
,而其他库中的其他人:
更新2 :我是从helpers.py
根目录启动的。我按照建议添加了evaluate.py
并获得了预期的路径:
print(helpers.__file__)
然后我将呼叫更改为/Users/nic/anaconda2/envs/nmt-keras/bin/python /Users/nic/git/nmt-keras/evaluate.py
Using TensorFlow backend.
/Users/nic/git/nmt-keras/helpers.py
,它像这样起作用!为什么?