ModuleNotFoundError:没有名为“h5py.utils”的模块

Posted

技术标签:

【中文标题】ModuleNotFoundError:没有名为“h5py.utils”的模块【英文标题】:ModuleNotFoundError: No module named 'h5py.utils' 【发布时间】:2022-01-09 07:55:01 【问题描述】:

所以我正在尝试运行一个聊天机器人,它是使用 Tkinter 和转换器作为独立的 exe 文件构建的 [我使用的是 Windows 10],但每次执行它时都会出现运行时错误。有什么我做错了吗?近 2 天我一直在尝试不同的命令。

下面产生的错误:

Traceback (most recent call last):
 RuntimeError: Failed to import transformers.modeling_tf_utils because of the following error (look up to see its traceback):
No module named 'h5py.utils'

Traceback (most recent call last): RuntimeError: Failed to import transformers.models.auto because of the following error (look up to see its traceback): Failed to import transformers.modeling_tf_utils because of the following error (look up to see its traceback): No module named 'h5py.utils'

我尝试使用以下命令并添加和删除了额外的隐藏导入,但没有奏效:

pyinstaller -w  --icon=logo.ico --hidden-import="pkg_resources.py2_warn" --hidden-import="h5py.defs" --hidden-import="googleapiclient" --hidden-import="apiclient" --hidden-import=tensorflow --hidden-import=pytorch --hidden-import=transformers --hidden-import=tqdm --collect-data tensorflow --collect-data torch --copy-metadata tensorflow --copy-metadata torch --copy-metadata h5py --copy-metadata tqdm --copy-metadata regex --copy-metadata sacremoses --copy-metadata requests --copy-metadata packaging --copy-metadata filelock --copy-metadata numpy --copy-metadata tokenizers --copy-metadata importlib_metadata --hidden-import=“sklearn.utils._cython_blas” --hidden-import=“sklearn.neighbors.typedefs” --hidden-import=“sklearn.neighbors.quad_tree” --hidden-import=“sklearn.tree” --hidden-import=“sklearn.tree._utils” chatbot.py

【问题讨论】:

pip install h5py 可能会这样做 @TheodorPeifer 我已经尝试过了,不幸的是这对问题没有帮助。 【参考方案1】:

我解决了我的问题。这就是我所做的

在我开始之前,不要在你的命令中使用 -onefile 标志。

    我运行了命令" pyinstaller -w --icon=logo.ico --hidden-import="h5py.defs" --hidden-import="h5py.utils" --hidden-import="h5py.h5ac" --hidden-import="h5py._proxy" --hidden-import=tensorflow --hidden-import=transformers --hidden-import=tqdm --collect-data tensorflow --collect-data torch --copy-metadata tensorflow --copy-metadata torch --copy-metadata h5py --copy-metadata tqdm --copy-metadata regex --copy-metadata sacremoses --copy-metadata requests --copy-metadata packaging --copy-metadata filelock --copy-metadata numpy --copy-metadata tokenizers --copy-metadata importlib_metadata chatbot.py "

    转到\Lib\site-packages\certifi 文件夹并复制cacert.prem 文件。

    当您尝试从生成的 dist 文件夹运行 exe 文件时,您将收到有关缺少 TLS CA 证书包的 OSError,因为它指向 dist 文件夹中不存在的 certifi 文件夹。 从生成的 dist 文件夹中,进入主文件夹,新建一个文件夹并将其重命名为“certifi”并将 cacert.prem 文件粘贴到其中。

    重新运行您的 exe 文件,它应该可以工作,它对我有用。

【讨论】:

以上是关于ModuleNotFoundError:没有名为“h5py.utils”的模块的主要内容,如果未能解决你的问题,请参考以下文章

ModuleNotFoundError:没有名为“dataviz”的模块

ModuleNotFoundError:没有名为“numpy”的模块

错误:ModuleNotFoundError:没有名为“图像”的模块

ModuleNotFoundError:没有名为“knox”的模块

ModuleNotFoundError:没有名为“memoize”的模块

ModuleNotFoundError:没有名为“pssh”的模块