在使用pyinstaller将.py转换为.exe之后,我收到错误“没有名为'pyproj._datadir'的模块”

问题描述 投票:1回答:1

当我的代码是.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'的模块”错误。

python-3.6 pyinstaller pyproj
1个回答
1
投票

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

from pyproj import _datadir, datadir

对你现有的。

© www.soinside.com 2019 - 2024. All rights reserved.