ArcGIS 与 QGIS 3 冲突的解决方案
发布时间: 2019-07-23
所属分类: GIS探秘
本机安装了ArcGIS 10.2,同时想学一下开源的 QGIS,就安装了QGIS 3,一切安装正常,但启动的时候报错。
如图:
报错信息
Python错误 : 无法载入插件“MetaSearch”因在调用其classFactory()方法时发生错误 查看消息日志(Python错误)以获取更多的细节信息。
Python错误 : 无法载入插件“processing” 查看消息日志(Python错误)以获取更多的细节信息。
细节
Traceback (most recent call last):
File "C:/PROGRA~1/QGIS3~1.4/apps/qgis/./python\qgis\utils.py", line 335, in startPlugin
plugins[packageName] = package.classFactory(iface)
File "C:/PROGRA~1/QGIS3~1.4/apps/qgis/./python/plugins\MetaSearch\__init__.py", line 29, in classFactory
from MetaSearch.plugin import MetaSearchPlugin
File "C:/PROGRA~1/QGIS3~1.4/apps/qgis/./python\qgis\utils.py", line 672, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "C:/PROGRA~1/QGIS3~1.4/apps/qgis/./python/plugins\MetaSearch\plugin.py", line 34, in
from MetaSearch.dialogs.maindialog import MetaSearchDialog
File "C:/PROGRA~1/QGIS3~1.4/apps/qgis/./python\qgis\utils.py", line 672, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "C:/PROGRA~1/QGIS3~1.4/apps/qgis/./python/plugins\MetaSearch\dialogs\maindialog.py", line 50, in
from owslib.csw import CatalogueServiceWeb # spellok
File "C:/PROGRA~1/QGIS3~1.4/apps/qgis/./python\qgis\utils.py", line 672, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "C:\PROGRA~1\QGIS3~1.4\apps\Python37\lib\site-packages\owslib\csw.py", line 27, in
from owslib.util import OrderedDict
File "C:/PROGRA~1/QGIS3~1.4/apps/qgis/./python\qgis\utils.py", line 672, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "C:\PROGRA~1\QGIS3~1.4\apps\Python37\lib\site-packages\owslib\util.py", line 14, in
from dateutil import parser
File "C:/PROGRA~1/QGIS3~1.4/apps/qgis/./python\qgis\utils.py", line 672, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
File "C:\Python27\ArcGIS10.2\Lib\site-packages\dateutil\parser.py", line 158
l.append("%s=%s" % (attr, `value`))
^
SyntaxError: invalid syntax
问题分析
解决这个问题还耗费了一点时间,主要是提示的是无法加载 MetaSearch 和 processing 插件,导致我花费了大量的时间来找为什么这2个插件无法加载,去搜索Python错误,但把 stackoverflow 翻了好多也没找到解决方案。后来用女朋友的机器安装了一下QGIS完美运行。仔细思考了一下,既然是Python的原因报错,在其他电脑上又是正常的,那么很有可能是我本机的 ArcGIS 引起的,因为 ArcGIS 10.2 默认的是 Python 2,但 QGIS 3.x 的版本使用的是 Python 3,一看还真是。
在QGIS的设置选项里找到了如下的环境变量
解决方案
解决方案也很比较简单,只要在使用 QGIS 的时候把 PYTHONPATH
重新命名一下,比如 PYTHONPATH_BAK
,这样QGIS就可以正常使用了。
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。
手机阅读
公众号关注
知识星球
手机阅读
最新GIS干货
私享圈子
你好老师,我出现了你上述的问题,但是没看懂您的解决办法,能说具体些吗
就是改环境变量啊。
请问怎么改呢
修改环境变量,参考这个:https://malagis.com/window-environment-variables-manage-tools.html
提供一种新思路,既然确认了是python版本冲突,如果不常用arcgis的python,可以卸载python组件,保证主体功能。
这咋可能嘛,ArcGIS好多分析功能全是依赖Python的