簡體   English   中英

Pyinstaller 無法導入 geopandas

[英]Pyinstaller cannot import geopandas

我正在嘗試從使用 pyinstaller 創建的可執行文件中使用 geopandas 庫。 但是它拋出了一個關於 dll 文件丟失的錯誤。 作為 python 文件執行時,我可以運行腳本,但不能作為可執行文件執行。

這是我正在使用的腳本(名為 sample.py):

import geopandas as gpd
print("Hello world")

這是我遇到的錯誤:

(venv) C:\Users\Windows 10\Desktop\py2exe\dist\sample>sample.exe
Traceback (most recent call last):
  File "sample.py", line 1, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load        
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module 
  File "geopandas\__init__.py", line 1, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load        
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module 
  File "geopandas\_config.py", line 126, in <module>
  File "geopandas\_config.py", line 112, in _default_use_pygeos
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load        
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module 
  File "geopandas\_compat.py", line 202, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load        
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module 
  File "rtree\__init__.py", line 9, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load        
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module 
  File "rtree\index.py", line 6, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load        
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module 
  File "rtree\core.py", line 75, in <module>
  File "rtree\finder.py", line 67, in load
OSError: could not find or load spatialindex_c.dll
[8276] Failed to execute script 'sample' due to unhandled exception!        

我執行pyinstaller sample.py來創建可執行文件。

這是 pyinstaller 日志的 pastebin 鏈接: https://pastebin.com/pjyYbVB8

您可以將--collect-binaries rtree添加到 pyinstaller 命令中,如果
您使用的是pyinstaller 4.3或更高版本。

spatial*.dll位於rtree package 內:

|   core.py
|   exceptions.py
|   finder.py
|   index.py
|   __init__.py
|
\---lib
        spatialindex-64.dll
        spatialindex_c-64.dll

PyInstaller 將收集 dll 並將它們放入dist/文件夾中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM