【问题标题】:'module' object has no attribute 'utilities'“模块”对象没有属性“实用程序”
【发布时间】:2018-11-04 21:39:30
【问题描述】:

尝试实现 ytini (yt for Houdini) Python 框架。 http://www.ytini.com/

解决了大多数安装错误,但当我加载 datfile 时仍然收到以下错误

不确定这是否与 ytini 的某些配置有关,或者是否更多的是 Python 特定错误。

Traceback (most recent call last): File "", line 14,
  in File "/home/jim/.local/lib/python2.7/site-packages/yt/__init__.py", line 44,
    in import yt.utilities.physical_constants as physical_constants
AttributeError: 'module' object has no attribute 'utilities

任何 Python 专家都可以提出任何故障排除步骤吗?

更新>

如果我只是简单地进行导入,我会收到以下错误

警告! HDF5 库版本不匹配错误 用于编译此应用程序的 HDF5 头文件不匹配 此应用程序链接到的 HDF5 库使用的版本。 如果应用程序继续,可能会发生数据损坏或分段错误。 当应用程序由一个版本的 HDF5 编译但 与不同版本的静态或共享 HDF5 库链接。 您应该重新编译应用程序或检查您的共享库相关 诸如“LD_LIBRARY_PATH”之类的设置。 'HDF5_DISABLE_VERSION_CHECK' 环境变量设置为 1,应用程序将 继续自担风险。 标头是 1.10.0,库是 1.8.11

【问题讨论】:

  • 你能在你的 python 控制台中只执行这一行吗? import yt.utilities.physical_constants as physical_constants
  • 您是否将自己的文件命名为 yt.py?
  • 操作。以前没有使用 PIP 安装 yt.py。当我在 Python 控制台中执行时,得到完全相同的错误。
  • 操作。当我打开实际的 yt 目录时,我确实看到了一个名为实用程序的文件夹。困惑为什么错误提到“属性”? imgur.com/a/9BScq8Q
  • 操作。是否有可能我错误地在不同位置安装了 2 个 yt 副本?如果是这样,我将如何检查?

标签: python


【解决方案1】:

此错误表示您将 yt.utilities 视为您尝试从中访问对象属性物理常量的对象,这是正确的,但 python 认为该属性不存在。但是,我无法重现此错误并且可以访问其中存储的值。您的代码中还有什么?看起来您正在访问 yt 的另一个使用常量属性的模块函数,对吗?另外,您使用的是 python 2.7 还是 3.x?

就在 2 个不同的地方安装包而言,我之前遇到过这种情况,这非常令人沮丧,但是可以通过文件夹搜索模块名称找到这些文件夹,并且应该返回保存在不同位置的所有版本。模块的确切位置因 IDE、操作系统、天气而异...

【讨论】:

  • 操作。请看我的更新。仅导入 yt 会导致 HDF5 库版本不匹配错误。这可能是我真正的错误。我该如何解决这个问题?
  • 操作。好的,所以通过使用 PIP 卸载 yt 来解决不匹配错误,然后使用 miniconda 重新安装。现在我的问题是我的应用程序找不到 yt 包。如何找到 miniconda yt 安装的新 python 路径?
  • 你应该在你的IDE使用的packages文件夹中安装包,每个python IDE通常都有一个自动安装包的过程以避免这样的问题,你可以从pycharm的主repo中获得,是这不是你的情况吗?
猜你喜欢
  • 2011-09-18
  • 1970-01-01
  • 1970-01-01
  • 2017-03-29
  • 2013-02-13
  • 2010-11-18
  • 2019-01-03
  • 2017-05-19
相关资源
最近更新 更多