[Qgis-user] error loading SACP into Mac QGIS 3.2.3

William Kyngesburye woklist at kyngchaos.com
Mon Sep 24 16:21:27 PDT 2018


Looks like a problem with the latest matplotlib 3.0.  I had no problems with 2.2.0, that I had installed a while back, it created the fontlist-v300.json as it should.  But once I updated matplotlib to 3.0 and deleted the fontlist-v300.json, I got the same error.

3.0 in very new, released 7 days ago. 2.2.x is their long term support version.

Try installing a pre-3.0 version.  This should do it (and uninstall 3.0):

sudo pip3 install -U "matplotlib<3.0"

> On Sep 24, 2018, at 10:36 AM, William G. Guthe <wguthe at Princeton.EDU> wrote:
> 
> Hi, 
>  
> I have installed QGIS 3.2.3 on an old Mac Pro running El Capitan.  I installed Python 3.6 from python.org <http://python.org/>, the GDAL and then QGIS itself.  I used pip3 to install matplotlib, scipy, and numpy.  I’ve also prepended the paths to 3.6/bin and GDAL 2.2.  When I try to load the Semi-Automatic Classification Plugin, I get an error about fontlist-v300.json not being available (which is true, it isn’t there).
>  
> I just met with a student running High Sierra, who gets a similar error about fontlist-v300.json being absent.  She has followed the directions for installing 3.2.3, set up the paths correctly, and installed the other packages.
>  
> I’m attaching the entire error message, in case there is more in that.
>  
> Thanks for any help on this.
>  
> Bill Guthe
> Research Computing/OIT
> Princeton University
> Princeton, NJ 
>  
> Error message:
>  
> Couldn't load plugin 'SemiAutomaticClassificationPlugin' due to an error when calling its classFactory() method
> OSError: [Errno 62] Too many levels of symbolic links: 'Applications/DivX Player.app/Contents/Frameworks/DPXLibrary.framework/Versions/Current/A'
> Traceback (most recent call last):
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/font_manager.py", line 1353, in 
>     fontManager = json_load(_fmcache)
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/font_manager.py", line 888, in json_load
>     with open(filename, 'r') as fh:
> FileNotFoundError: [Errno 2] No such file or directory: '/Users/wguthe/.matplotlib/fontlist-v300.json'
> 
> During handling of the above exception, another exception occurred:
> 
> Traceback (most recent call last):
>   File "/Applications/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 337, in startPlugin
>     plugins[packageName] = package.classFactory(iface)
>   File "/Users/wguthe/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/SemiAutomaticClassificationPlugin/__init__.py", line 65, in classFactory
>     from .semiautomaticclassificationplugin import SemiAutomaticClassificationPlugin
>   File "/Applications/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 674, in _import
>     mod = _builtin_import(name, globals, locals, fromlist, level)
>   File "/Users/wguthe/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/SemiAutomaticClassificationPlugin/semiautomaticclassificationplugin.py", line 74, in 
>     from .ui.semiautomaticclassificationplugindialog import SemiAutomaticClassificationPluginDialog
>   File "/Applications/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 674, in _import
>     mod = _builtin_import(name, globals, locals, fromlist, level)
>   File "/Users/wguthe/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/SemiAutomaticClassificationPlugin/ui/semiautomaticclassificationplugindialog.py", line 39, in 
>     from .ui_semiautomaticclassificationplugin_scatter_plot import Ui_ScatterPlot
>   File "/Applications/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 674, in _import
>     mod = _builtin_import(name, globals, locals, fromlist, level)
>   File "/Users/wguthe/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/SemiAutomaticClassificationPlugin/ui/ui_semiautomaticclassificationplugin_scatter_plot.py", line 453, in 
>     from .scatterwidget2 import ScatterWidget2
>   File "/Applications/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 674, in _import
>     mod = _builtin_import(name, globals, locals, fromlist, level)
>   File "/Users/wguthe/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/SemiAutomaticClassificationPlugin/ui/scatterwidget2.py", line 44, in 
>     from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigCanvas
>   File "/Applications/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 674, in _import
>     mod = _builtin_import(name, globals, locals, fromlist, level)
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/backends/__init__.py", line 9, in 
>     from matplotlib.backend_bases import _Backend
>   File "/Applications/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 674, in _import
>     mod = _builtin_import(name, globals, locals, fromlist, level)
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/backend_bases.py", line 46, in 
>     from matplotlib import (
>   File "/Applications/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 674, in _import
>     mod = _builtin_import(name, globals, locals, fromlist, level)
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/textpath.py", line 8, in 
>     from matplotlib import cbook, dviread, font_manager, rcParams
>   File "/Applications/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 674, in _import
>     mod = _builtin_import(name, globals, locals, fromlist, level)
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/font_manager.py", line 1363, in 
>     _rebuild()
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/font_manager.py", line 1344, in _rebuild
>     fontManager = FontManager()
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/font_manager.py", line 978, in __init__
>     ttffiles = findSystemFonts(paths) + findSystemFonts()
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/font_manager.py", line 270, in findSystemFonts
>     fontfiles.update(OSXInstalledFonts(fontext=fontext))
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/font_manager.py", line 218, in OSXInstalledFonts
>     for directory in directories
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/font_manager.py", line 220, in 
>     for path in list_fonts(directory, ext)]
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/font_manager.py", line 157, in list_fonts
>     for path in filter(Path.is <http://path.is/>_file, Path(directory).glob("**/*.*"))
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/font_manager.py", line 156, in 
>     return [str(path)
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/pathlib.py", line 1098, in glob
>     for p in selector.select_from(self):
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/pathlib.py", line 559, in _select_from
>     for starting_point in self._iterate_directories(parent_path, is_dir, scandir):
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/pathlib.py", line 549, in _iterate_directories
>     for p in self._iterate_directories(path, is_dir, scandir):
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/pathlib.py", line 549, in _iterate_directories
>     for p in self._iterate_directories(path, is_dir, scandir):
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/pathlib.py", line 549, in _iterate_directories
>     for p in self._iterate_directories(path, is_dir, scandir):
>   [Previous line repeated 3 more times]
>   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/pathlib.py", line 547, in _iterate_directories
>     if entry.is_dir() and not entry.is_symlink():
> OSError: [Errno 62] Too many levels of symbolic links: 'Applications/DivX Player.app/Contents/Frameworks/DPXLibrary.framework/Versions/Current/A'
> 
> Python version: 3.6.6 (v3.6.6:4cf1f54eb7, Jun 26 2018, 19:50:54) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] 
> QGIS version: 3.2.3-Bonn Bonn, exported 
> Python Path:
> /Applications/QGIS3.app/Contents/MacOS/../Resources/python
> /Users/wguthe/Library/Application Support/QGIS/QGIS3/profiles/default/python
> /Users/wguthe/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins
> /Applications/QGIS3.app/Contents/MacOS/../Resources/python/plugins
> /Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip
> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6
> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload
> /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
> /Users/wguthe/Library/Application Support/QGIS/QGIS3/profiles/default/python
>  
>  
>  
> _______________________________________________
> Qgis-user mailing list
> Qgis-user at lists.osgeo.org <mailto:Qgis-user at lists.osgeo.org>
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user <https://lists.osgeo.org/mailman/listinfo/qgis-user>
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user <https://lists.osgeo.org/mailman/listinfo/qgis-user>
-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/

All generalizations are dangerous, even this one.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20180924/c6c0b427/attachment.html>


More information about the Qgis-user mailing list