我在运行包含 pyproj 的编译版本时遇到问题。我使用 pyinstaller 编译并在运行时继续运行“无法导入名称错误”。这与我在此处报告的有关 PIL 的错误类型相似。特别是关于命名约定和错误类型。
尽管我没有发现他们的建议解决了我的错误,但这里也提出了类似的问题。
我已将 _proj.pyd 作为二进制文件添加到构建文件夹并在规范文件中引用但无济于事。
顺便说一句,任何人都可以解释下划线命名约定而不是大写字母调用某些模块的处理方式吗?在这种情况下,_proj 而不是 Proj。这些类型的模块通常也只在其模块文件夹中包含 .pyd 而不是 .py,导致编译器在编译为可执行文件时会感到困惑。注意到有问题模块的类似模式,但并不真正理解它。
import _socket # dynamically loaded from C:\Users\Hp\AppData\Local\Temp\_MEI53882\_socket.pyd
import parser # builtin
import win32api # dynamically loaded from C:\Users\Hp\AppData\Local\Temp\_MEI53882\win32api.pyd
import pywintypes # dynamically loaded from C:\Users\Hp\AppData\Local\Temp\_MEI53882\pywintypes27.dll
import pythoncom # dynamically loaded from C:\Users\Hp\AppData\Local\Temp\_MEI53882\pythoncom27.dll
Traceback (most recent call last):
File "<string>", line 50, in <module>
File "C:\Python27\Lib\site-packages\PyInstaller\loader\pyi_importers.py", line 270, in load_module
exec(bytecode, module.__dict__)
File "C:\Users\Hp\PycharmProjects\GISdev\build\gis_helper2\out00-PYZ.pyz\pyproj", line 50, in <module>
ImportError: cannot import name _proj