gpt4 book ai didi

python - 导入错误 : No module named geometry while running executables obtained from pyinstaller

转载 作者:太空宇宙 更新时间:2023-11-04 09:04:09 31 4
gpt4 key购买 nike

Traceback (most recent call last):
File "<string>", line 1, in <module>
File py_installer/PyInstaller-2.1/PyInstaller/loader/pyi_importers.py", line 270, in load_module
File py_installer/PyInstaller-2.1/FaceMatcher/build/FaceMatcher/out00-PYZ.pyz/proj_code", line 11, in <module>
File PyInstaller-2.1/PyInstaller/loader/pyi_importers.py", line 270, in load_module
File PyInstaller-2.1/FaceMatcher/build/FaceMatcher/out00-PYZ.pyz/skimage.transform", line 1, in <module>
File py_installer/PyInstaller-2.1/PyInstaller/loader/pyi_importers.py", line 270, in load_module
File py_installer/PyInstaller-2.1/FaceMatcher/build/FaceMatcher/out00-PYZ.pyz/skimage.transform.hough_transform", line 7, in <module>
File py_installer/PyInstaller-2.1/PyInstaller/loader/pyi_importers.py", line 409, in load_module
File "_hough_transform.pyx", line 13, in init skimage.transform._hough_transform (skimage/transform/_hough_transform.c:7337)
File "py_installer/PyInstaller-2.1/PyInstaller/loader/pyi_importers.py", line 270, in load_module
File "py_installer/PyInstaller-2.1/FaceMatcher/build/FaceMatcher/out00-PYZ.pyz/skimage.draw", line 1, in <module>
File "py_installer/PyInstaller-2.1/PyInstaller/loader/pyi_importers.py", line 409, in load_module
File "_draw.pyx", line 1, in init skimage.draw._draw (skimage/draw/_draw.c:7257)





ImportError: No module named geometry

我遇到了上述错误。有人可以告诉我如何解决吗?

最佳答案

问题是 skimage.transform 需要 hidden imports 的小“链” .这些导入以 Pyinstaller 无法自动检测的各种方式发生,即使用 __import__ 等。因此,您必须直接告诉 Pyinstaller 这些导入,以便它知道检查它们并将它们添加到您的构建中.

您可以通过两种方式做到这一点:

  1. --hidden-import 命令行标志,如果您只有几个模块要指定,这很有用。
  2. “ Hook ”文件,可以帮助您根据模块需要对一些隐藏的导入进行分组。

例如,对于您的具体情况,您可以创建一个名为 hook-skimage.transform.py 的文件并将以下内容放入其中:

hiddenimports = ['skimage.draw.draw',
'skimage.draw._draw',
'skimage.draw.draw3d',
'skimage._shared.geometry',
'skimage._shared.interpolation',
'skimage.filter.rank.core_cy']

您可能不需要所有指定的模块。您的构建只缺少 skimage._shared.geometry,因此您可以尝试只包含带有 --hidden-import 命令行标志的文件,或者只在 hook-skimage.transform.py 文件中包含 skimage._shared.geometry。但是,那些特定的隐藏导入修复了我在 Windows 7 64 位和 skimage 0.9.3 上的场景。

然后,告诉 pyinstaller 去哪里寻找额外的 Hook 文件。所以,如果你把 hook-skimage.transform.py 文件放在你的 '.' 中您需要修改 pyinstaller 构建命令以包含 --additional-hooks-dir=.

的目录

这将导致 pyinstaller 在尝试导入 skimage.transform.hough_line 时检查您指定的模块作为您提到的输出。

关于python - 导入错误 : No module named geometry while running executables obtained from pyinstaller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22455714/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com