【发布时间】:2021-11-13 03:18:15
【问题描述】:
我正在尝试使用 PyQT5、Geopandas、OSMnX 和 Folium 创建一个地理空间 Python GUI 应用程序。我正在使用 pyinstaller 将应用程序转换为 .EXE 文件。以前,我在不导入 geopandas 时能够成功创建 .EXE 文件。但是,一旦我使用 Geopandas 构建可执行文件,如屏幕截图所示,就会出现错误。
这就是我的规范文件在构建可执行文件时的样子。
block_cipher = None
hidden_imports = [
'fiona',
'gdal',
'shapely',
'shapely.geometry',
'pyproj',
'rtree',
'geopandas.datasets',
'pytest',
'pandas._libs.tslibs.timedeltas',
'fiona._shim',
]
a = Analysis(['main.py'],
pathex=['D:\\CrowdSourcingV2'],
binaries=[],
datas=[
('input', 'input'),
('input', 'input'),
("D:\\Anaconda\\envs\\ox\Lib\\site-packages\\branca\\*.json","branca"),
("D:\\Anaconda\\envs\\ox\\Lib\\site-packages\\branca\\templates","templates"),
("D:\\Anaconda\\envs\\ox\\Lib\\site-packages\\folium\\templates","templates")
],
hiddenimports=hidden_imports,
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='Crowdsourcing Tool',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True,
disable_windowed_traceback=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None )
有人可以就我如何解决此问题提供任何提示或解决方案吗?
【问题讨论】:
-
你能安装 Fiona 本身并导入它吗?循环导入是否仍然存在?创建一个更简单的可重现示例将有助于准确确定问题发生的位置,以便在正确的位置解决问题。
-
另外,您可以使用 OSMnx 的文档安装说明来安装它吗? osmnx.readthedocs.io/en/stableOSMnx 项目不正式支持其他安装方式,比如pyinstaller,所以你的结果可能会有所不同。
-
您好,我已经按照文档中的说明创建了一个专用的 OSMnX anaconda 环境。 Fiona 和 Geopandas 已成功安装,我可以毫无问题地运行该应用程序。我正在尝试使用 pyinstaller 创建应用程序的可执行文件。 .EXE 已创建,但当我尝试运行它时会引发上述错误。我将尝试创建一个 MWE 来帮助定义问题。
标签: python pyinstaller geopandas osmnx fiona