簡體   English   中英

使用 initQgis() 時出現分段錯誤 11 - MacOS

[英]Segmentation Fault 11 when using initQgis() - MacOS

我在 macOS Catalina v.10.15.7 上使用 QGIS.3.16

我在運行以下代碼時遇到問題

export PATH=/Applications/QGIS.app/Contents/MacOS/bin
export PYTHONPATH=/Applications/QGIS.app/Contents/Resources/python
export LD_LIBRARY_PATH=/Applications/QGIS.app/lib
export DYLD_LIBRARY_PATH=/Applications/QGIS.app/lib
export QT_QPA_PLATFORM_PLUGIN_PATH=/Applications/QGIS.app/Contents/PlugIns/platforms

python3

## IMPORT QGIS
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from qgis.core import *
from qgis.gui import *
from qgis.core import QgsApplication

# SET UP ENV
qgishome = "/Applications/QGIS.app/Contents/MacOS"
QgsApplication.setPrefixPath(qgishome, True)
app = QgsApplication([],False)
app.initQgis()

當我在終端中運行它時,我收到以下錯誤代碼

Segmentation fault: 11

我知道 11 表示第 11 行,那就是 app.initQgis() 所以有些東西在那里不起作用。

我在 Jupyter Notebook 中運行了相同的代碼,但當時沒有出現錯誤。 我嘗試重新啟動計算機以“清理”內存,但仍然出現相同的錯誤。

此外,我在使用 QGIS.3.14 時使用了相同的代碼,效果很好,但現在我每次都會出錯。

關於可能出什么問題的任何想法?

***************************** 編輯 ******************** ***************

跟進此事。 我安裝了 QGIS3.10 LTR 並嘗試了相同的方法,然后沒有出現錯誤。 但是我必須添加 GDAL_PATH 才能打開 shapefile。

# Set Paths
export PATH=/Applications/QGIS3.10.app/Contents/MacOS/bin
export PYTHONPATH=/Applications/QGIS3.10.app/Contents/Resources/python
export LD_LIBRARY_PATH=/Applications/QGIS3.10.app/lib
export DYLD_LIBRARY_PATH=/Applications/QGIS3.10.app/lib
export QT_QPA_PLATFORM_PLUGIN_PATH=/Applications/QGIS3.10.app/Contents/PlugIns/platforms/
export GDAL_DATA=/Applications/QGIS3.10.app/Contents/Resources/gdal

python3

## IMPORT QGIS
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from qgis.core import *
from qgis.gui import *
from qgis.core import QgsApplication

# SET UP ENV
qgishome = "/Applications/QGIS3.10.app/Contents/MacOS"
QgsApplication.setPrefixPath(qgishome, True)
app = QgsApplication([],False)
app.initQgis()

該腳本正在選擇與捆綁的 QGIS 的 sqlite 庫不兼容的系統 sqlite。 通過以下方式強制腳本預加載 QGIS 的版本:

export DYLD_INSERT_LIBRARIES=/Applications/QGIS$QGIS_VERSION.app/Contents/MacOS/lib/libsqlite3.dylib

暫無
暫無

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

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