【发布时间】:2017-04-09 05:08:13
【问题描述】:
我正在开发具有以下结构的包。
Package
|- __init__.py
|- dir
|- subdir
|- moduleB.py
|- __init__.py
|- __init__.py
|- moduleA.py
main.py
main.py 尝试导入 moduleA,然后再导入 moduleB。但是,它在尝试导入 moduleA 时遇到了错误,并引用了已更改的代码行中的错误。
我认为这是一个缓存问题,所以我删除了包中的所有 pycache 文件,但仍然失败。
我能做些什么来解决这个问题,我能做些什么来确保这不会成为问题?
实际代码是
import tensorflow as tf
from UROP.data_structure.default_dictionary import DefaultDictionary
def default_distribution(shape, variation, name=''):
return tf.truncated_normal(
shape=shape,
stddev=variation,
name=name
)
【问题讨论】:
-
你能把错误包括进来吗?
-
当
main.py尝试import Package.moduleA时出现错误?您可能会得到与您想象的不同的模块。os.path.realpath('Package.__file__) 会很有趣。 -
明天早上我会尽快用realpath更新。
-
另外,使用 pdb3 之类的调试器逐步完成导入。也许有人正在用路径做一些“聪明”的事情。
-
当您遇到错误时,最好注意它所说的内容。在这种情况下,它准确地说明了问题所在。未找到模块 Research.data_structures.default_dictionary。这可能是缺少依赖项或您的 lib 路径有问题。
标签: python python-3.x tensorflow