pyinstaller和pyproj的问题

eds*_*lp1 5 pyinstaller python-2.7

我正在尝试使用pyinstaller做一个独立的应用程序。可执行文件的构建很好,但是当我尝试使用库pyproj中集成的功能执行某些操作时,可执行文件崩溃。

该脚本可以在Pycharm上正常运行,所以我认为问题在于pyinstaller没有与pyproj的某种库链接。

我是否可以对spec文件做一些特殊的事情,或者在用pyinstaller构建的独立应用程序上进行其他指定pyproj的事情?

这是我获得的错误:

Traceback (most recent call last):   File "<string>", line 6, in
<module>   File "C:\pyproj\build\main\out00-PYZ.pyz\pyproj", line 343,
in __new__   File "_proj.pyx", line 85, in _proj.Proj.__cinit__
(_proj.c:1190) 
RuntimeError: no system list, errno: 2
Run Code Online (Sandbox Code Playgroud)

这是我的“ main.py”

 #!/usr/bin/env python
 # -*- coding: utf-8 -*-

 import pyproj 
 print pyproj.__version__ 
 p=pyproj.Proj(init='EPSG:4326')
Run Code Online (Sandbox Code Playgroud)

提前致谢

eds*_*lp1 4

问题是,当将 pyproj 与 PyInstaller 一起使用时,pyproj 无法找到库文件夹中的数据文件。

解决方案是创建一个挂钩文件,该文件将指定数据文件的位置,以便您可以将它们与我们的可执行文件链接。

 hook-pyproj.py

 from PyInstaller.hooks.hookutils import collect_data_files
 datas = collect_data_files('pyproj')
Run Code Online (Sandbox Code Playgroud)

挂钩文件可以位于 Pyinstaller 安装的“hooks”文件夹中,或者使用命令 --additional-hooks-dir,指定“hook-pyproj.py”所在的文件夹