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”的模块