【问题标题】:python cannot find module attributepython找不到模块属性
【发布时间】: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.pymyprog.py 文件的全部内容吗?可能会出现某种循环导入问题。
  • 你是如何执行程序的?
  • 呃,新手问题。 :( 打印建议确认我正在导入正确的文件。我的错误原来是我的 setup.py 文件中的一个小错字。不过,谢谢你的帮助。代码的 print(...) 位会有所帮助我以后,我确定。

标签: python python-module


【解决方案1】:

添加

print(edutil.__file__)

到您的myprog.py 并检查您是否使用了正确版本的模块。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 2015-03-12
    • 2021-10-13
    • 2019-03-21
    相关资源
    最近更新 更多