【发布时间】:2015-12-15 18:27:00
【问题描述】:
我是 Python 新手,但对编程并不陌生(主要是 C 和 Java)。我有一个关于简单模块导入的完整新手问题。我有以下内容:
edutil.py:
def parse_seq(basename: str) -> int:
return 0
myprog.py:
import edutil
class ImageFile(object):
def __init__(self, basename: str)
self.base = basename
self.seq = edutil.parse_seq(self.base)
当然,代码还有更多内容,但这是问题所在。当我尝试执行我的程序时,我得到:
AttributeError: 模块 'edutil' 没有属性 'parse_seq'
我不明白为什么会这样。大多数导入问题似乎与循环依赖有关,但在这种情况下没有,因为 edutil.py (当前)不导入任何东西。
这可能与我使用 setuputils 有关吗?我确保将 edutil.py 文件包含在 setup.py 中的正确位置,甚至重新运行“pip install”命令以确保。
【问题讨论】:
-
尝试将
print(edutil.__file__)放在那里,看看打印的路径是否是您期望edutil 的路径。也许您在某个地方还有其他名为 edutil 的东西? -
这些是
edutil.py和myprog.py文件的全部内容吗?可能会出现某种循环导入问题。 -
你是如何执行程序的?
-
呃,新手问题。 :( 打印建议确认我正在导入正确的文件。我的错误原来是我的 setup.py 文件中的一个小错字。不过,谢谢你的帮助。代码的 print(...) 位会有所帮助我以后,我确定。
标签: python python-module