当我的代码是.py时,效果很好 但是当我使用pyinstaller制作.exe文件时,它显示了ModuleNotFoundError。
我在制作.exe时写了这个
pyinstaller -F MyCode.py
我该如何解决这个问题?
我读过
Issues with pyinstaller and pyproj
,我打算在Pyinstaller的“ hooks”文件夹中创建hook-pyproj.py并将其定位。但是hook-pyproj.py已经在那里有相同的代码。
之后,我安装了“底图”,并尝试从中使用pyproj。但是,它向我显示了相同的错误。
这是我执行.exe文件时向我显示的错误。 (我用*****涵盖了一些信息)
Traceback (most recent call last):
File "collect\MyCode.py", line 8, in <module>
File "c:\users\*****\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\mpl_toolkits\basemap\__init__.py", line 41, in <module>
File "c:\users\*****\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\pyproj\__init__.py", line 62, in <module>
File "c:\users\*****\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\pyproj\crs.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
但是我收到相同的“ ModuleNotFoundError:没有名为'pyproj._datadir'的模块”错误。
答案 0 :(得分:1)
有点奇怪,我不完全理解为什么,但是我发现了一个快速的肮脏修复程序。 您可以添加此导入
from pyproj import _datadir, datadir
到您现有的。
答案 1 :(得分:0)
我注意到在某些Windows计算机而非其他Windows计算机上发生了pyproj import dll错误错误。
原来是对Visual C Runtime 2015+的依赖
https://support.microsoft.com/en-au/help/2977003/the-latest-supported-visual-c-downloads