NameError:尽管导入未定义名称“ my_func”

时间:2018-08-10 13:30:47

标签: python

我对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' ,而其他库中的其他人: enter image description here

更新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 ,它像这样起作用!为什么?

0 个答案:

没有答案