EnMAP-Box / enmap-box

EnMAP-Box source code repository. See https://enmap-box.readthedocs.io for documentation
GNU General Public License v3.0
34 stars 16 forks source link

EnPT Processing Tool not working without Conda root dir (EnPT package is installed) #896

Closed Maesiu closed 2 weeks ago

Maesiu commented 1 month ago

Hi! I wanted to test the EnPT Processing tool for atmospheric correction of EnMAP L1B data.

the tool claims the 'Conda root directory' to be [optional] but it's not:

Traceback (most recent call last): File "C:\Users\m.wocher\AppData\Roaming\Python\Python312\site-packages\enpt_enmapboxapp\enpt_external_algorithm.py", line 151, in processAlgorithm conda_root = self._locate_EnPT_Conda_environment(parameters[self.P_conda_root]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\m.wocher\AppData\Roaming\Python\Python312\site-packages\enpt_enmapboxapp\enpt_external_algorithm.py", line 88, in _locate_EnPT_Conda_environment raise NotADirectoryError("No valid Conda root directory given - " NotADirectoryError: No valid Conda root directory given - neither via the GUI, nor via the 'CONDA_ROOT' environment variable.

Should it not find/know where the EnPT-package is when it is installed (which it is)?

danschef commented 1 month ago

Hi Matthias!

I just checked the code history of enpt_enmapboxapp and the last version where conda_root = self._locate_EnPT_Conda_environment(parameters[self.P_conda_root]) was in line 151 in that file was version 0.7.6. The latest one is 0.8.6. With a look to the changelog, you see that there was a bugfix in version 0.7.10,

"Fixed an issue where EnPT is not detected to be installed externally if QGIS is started from the EnPT repository root (!36)."

which I think should fix it. You should definitely update enpt_enmapboxapp to the latest version. It should be installed in the same environment like QGIS. Note that enpt_enmapboxapp 0.8.6 requires enpt>=0.20.1.

janzandr commented 1 month ago

@Maesiu, you can install the latest version of EnPT via PIP:

pip install --upgrade --user -r https://raw.githubusercontent.com/EnMAP-Box/enmap-box/main/.env/osgeo4w/requirements_osgeo4w.txt
danschef commented 1 month ago

Right, but please also upgrade the separate enpt environment. I recommend to just recreate it. That is usually cleaner and faster than updating.