使用 pyinstaller 将 .py 转换为 .exe 后出现错误 "No module named 'pyproj._datadir'"
I get error "No module named 'pyproj._datadir'" after I made .py to .exe with pyinstaller
我的代码在 .py 时运行良好
但是当我用 pyinstaller 制作 .exe 文件时,它显示 ModuleNotFoundError.
我做.exe的时候写的
pyinstaller -F MyCode.py
我该如何解决这个问题?
我读过
Issues with pyinstaller and pyproj
我打算尝试在 Pyinstaller 的 "hooks" 文件夹中创建并找到 hook-pyproj.py。但是 hook-pyproj.py 已经有了相同的代码。
之后,我安装了 "basemap" 并尝试从中使用 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: No module named 'pyproj._datadir'”错误。
这有点奇怪,我不完全明白为什么,但我找到了一个快速的脏修复。
您可以添加此导入
from pyproj import _datadir, datadir
到您现有的。
我注意到这个 pyproj import dll error 错误发生在一些 Windows 机器上而不是其他机器上。
原来是对Visual C Runtime 2015+的依赖
https://support.microsoft.com/en-au/help/2977003/the-latest-supported-visual-c-downloads
我的代码在 .py 时运行良好 但是当我用 pyinstaller 制作 .exe 文件时,它显示 ModuleNotFoundError.
我做.exe的时候写的
pyinstaller -F MyCode.py
我该如何解决这个问题?
我读过
Issues with pyinstaller and pyproj
我打算尝试在 Pyinstaller 的 "hooks" 文件夹中创建并找到 hook-pyproj.py。但是 hook-pyproj.py 已经有了相同的代码。
之后,我安装了 "basemap" 并尝试从中使用 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: No module named 'pyproj._datadir'”错误。
这有点奇怪,我不完全明白为什么,但我找到了一个快速的脏修复。 您可以添加此导入
from pyproj import _datadir, datadir
到您现有的。
我注意到这个 pyproj import dll error 错误发生在一些 Windows 机器上而不是其他机器上。
原来是对Visual C Runtime 2015+的依赖
https://support.microsoft.com/en-au/help/2977003/the-latest-supported-visual-c-downloads