LEOXINGU / lftools

Tools for cartographic production, surveying, digital image processing and spatial analysis.
MIT License
50 stars 7 forks source link

Using lftools with QGIS Conda installation #7

Closed davdent closed 1 year ago

davdent commented 1 year ago

I installed QGIS 3.28.1 under miniconda on an Ubuntu 22.10 system. My issue related to the lftools plugin. I get the following error on running QGIS:

Couldn't load plugin 'lftools' due to an error when calling its classFactory() method ModuleNotFoundError: No module named 'PIL'

I added pillow on conda in a separate environment, thinking that this might help, but still get the same error.

Any thoughts on how to fix this, or a workaround?

The traceback information I get when running QGIS follows:

Traceback (most recent call last): File "/home/david/miniconda3/envs/qgis/share/qgis/python/qgis/utils.py", line 423, in _startPlugin plugins[packageName] = package.classFactory(iface) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/david/.local/share/QGIS/QGIS3/profiles/default/python/plugins/lftools/init.py", line 38, in classFactory from .lftools import LFToolsPlugin File "/home/david/miniconda3/envs/qgis/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/david/.local/share/QGIS/QGIS3/profiles/default/python/plugins/lftools/lftools.py", line 41, in from .lftools_provider import LFToolsProvider File "/home/david/miniconda3/envs/qgis/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/david/.local/share/QGIS/QGIS3/profiles/default/python/plugins/lftools/lftools_provider.py", line 36, in from lftools.processing_provider.Cart_inom2utm import Inom2utmGrid File "/home/david/miniconda3/envs/qgis/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/david/.local/share/QGIS/QGIS3/profiles/default/python/plugins/lftools/processing_provider/Cart_inom2utm.py", line 21, in from lftools.geocapt.imgs import Imgs File "/home/david/miniconda3/envs/qgis/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/david/.local/share/QGIS/QGIS3/profiles/default/python/plugins/lftools/geocapt/imgs.py", line 17, in import math, os, base64, PIL.Image File "/home/david/miniconda3/envs/qgis/share/qgis/python/qgis/utils.py", line 888, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ModuleNotFoundError: No module named 'PIL'

Python version: 3.11.0 | packaged by conda-forge | (main, Oct 25 2022, 06:35:31) [GCC 10.4.0] QGIS version: 3.28.1-Firenze Firenze, exported

Python Path: /home/david/miniconda3/envs/qgis/share/qgis/python /home/david/.local/share/QGIS/QGIS3/profiles/default/python /home/david/.local/share/QGIS/QGIS3/profiles/default/python/plugins /home/david/miniconda3/envs/qgis/share/qgis/python/plugins /home/david/miniconda3/envs/qgis/share/qgis/python/plugins /home/david/miniconda3/envs/qgis/share/qgis/python /home/david /home/david/miniconda3/envs/qgis/lib/python311.zip /home/david/miniconda3/envs/qgis/lib/python3.11 /home/david/miniconda3/envs/qgis/lib/python3.11/lib-dynload /home/david/miniconda3/envs/qgis/lib/python3.11/site-packages /home/david/.local/share/QGIS/QGIS3/profiles/default/python

LEOXINGU commented 1 year ago

I think you need to install the module named 'PIL'.

Install the following package as follows:

pip install Pillow