我的代码在.py时运行良好但是当我使用 pyinstaller 制作.exe文件时,它会显示 ModuleNotFoundError。
我在制作.exe时写了这个
pyinstaller -F MyCode.py
如何解决这个问题?
我已经阅读了一些解决方案pyinstaller 和 pyproj 的问题所以我打算尝试在 Pyinstaller 中的"hooks"文件夹中制作和定位 hook-pyproj.py。但是 hook-pyproj.py 已经使用相同的代码。
之后,我安装了"底图"并尝试从中使用pyproj。但是它向我显示了相同的错误。
这是我执行.exe文件时向我显示的错误。(我用*****涵盖了一些信息(
Traceback (most recent call last):
File "collectMyCode.py", line 8, in <module>
File "c:users*****appdatalocalprogramspythonpython36-32libsite-packagesPyInstallerloaderpyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packagesmpl_toolkitsbasemap__init__.py", line 41, in <module>
File "c:users*****appdatalocalprogramspythonpython36-32libsite-packagesPyInstallerloaderpyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packagespyproj__init__.py", line 62, in <module>
File "c:users*****appdatalocalprogramspythonpython36-32libsite-packagesPyInstallerloaderpyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packagespyprojcrs.py", line 26, in <module>
File "pyproj_crs.pyx", line 1, in init pyproj._crs
ModuleNotFoundError: No module named 'pyproj._datadir'
[25936] Failed to execute script MyCode
这是我的代码。
from mpl_toolkits.basemap import pyproj as pyproj
我一开始试过这个。
import pyproj
但我得到相同的" 模块未发现错误:没有名为'pyproj._datadir'的模块"错误。
这有点奇怪,我不完全明白为什么,但我找到了一个快速的肮脏修复。您可以添加此导入
from pyproj import _datadir, datadir
到您现有的。
我注意到这个pyproj导入dll错误发生在一些Windows机器上,而不是其他机器上。
原来是对Visual C Runtime 2015+的依赖
https://support.microsoft.com/en-au/help/2977003/the-latest-supported-visual-c-downloads