我在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才能打开shapefiles。
# 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()发布于 2021-02-09 15:23:59
该脚本选择的系统sqlite与捆绑的QGIS的sqlite库不兼容。通过以下方式强制脚本预加载QGIS的版本:
export DYLD_INSERT_LIBRARIES=/Applications/QGIS$QGIS_VERSION.app/Contents/MacOS/lib/libsqlite3.dylibhttps://stackoverflow.com/questions/64678135
复制相似问题