5

我的代码在 .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 "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'”错误。

4

2 回答 2

6

这有点奇怪,我不完全明白为什么,但我找到了一个快速的脏修复。您可以添加此导入

from pyproj import _datadir, datadir

到你现有的。

于 2019-04-24T22:52:37.300 回答
0

我注意到这个 pyproj import dll 错误错误发生在一些 Windows 机器上而不是其他机器上。

原来是对 Visual C Runtime 2015+ 的依赖

https://support.microsoft.com/en-au/help/2977003/the-latest-supported-visual-c-downloads

于 2019-11-29T07:39:57.163 回答