GeoscienceAustralia / tcrm

A statistical-parametric model for assessing wind hazard from tropical cyclones
http://geoscienceaustralia.github.io/tcrm
Other
80 stars 52 forks source link

Fail to install the tcrm: No module named 'osgeo' #101

Closed Jack-ee closed 3 years ago

Jack-ee commented 3 years ago

wind (unittest.loader._FailedTest) ... ERROR

====================================================================== ERROR: Evaluate (unittest.loader._FailedTest)

ImportError: Failed to import test module: Evaluate Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 470, in _find_test_path package = self._get_module_from_name(name) File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 377, in _get_module_from_name import(name) File "C:\Users\JackDell\Documents\tcrm\Evaluate__init.py", line 12, in from .pressureDistribution import PressureDistribution File "C:\Users\JackDell\Documents\tcrm\Evaluate\pressureDistribution.py", line 36, in from PlotInterface.figures import QuantileFigure, saveFigure File "C:\Users\JackDell\Documents\tcrm\PlotInterface\figures.py", line 18, in import wind.windmodels as windmodels File "C:\Users\JackDell\Documents\tcrm\wind\init__.py", line 53, in from ProcessMultipliers import processMultipliers as pM File "C:\Users\JackDell\Documents\tcrm\ProcessMultipliers\processMultipliers.py", line 74, in from osgeo import osr, gdal, gdalconst ModuleNotFoundError: No module named 'osgeo'

====================================================================== ERROR: tests.test_WindDynamicsWriter (unittest.loader._FailedTest)

ImportError: Failed to import test module: tests.test_WindDynamicsWriter Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 436, in _find_test_path module = self._get_module_from_name(name) File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 377, in _get_module_from_name import(name) File "C:\Users\JackDell\Documents\tcrm\tests\test_WindDynamicsWriter.py", line 28, in import wind.writer File "C:\Users\JackDell\Documents\tcrm\wind__init__.py", line 53, in from ProcessMultipliers import processMultipliers as pM File "C:\Users\JackDell\Documents\tcrm\ProcessMultipliers\processMultipliers.py", line 74, in from osgeo import osr, gdal, gdalconst ModuleNotFoundError: No module named 'osgeo'

====================================================================== ERROR: tests.test_pressureProfile (unittest.loader._FailedTest)

ImportError: Failed to import test module: tests.test_pressureProfile Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 436, in _find_test_path module = self._get_module_from_name(name) File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 377, in _get_module_from_name import(name) File "C:\Users\JackDell\Documents\tcrm\tests\test_pressureProfile.py", line 40, in from PressureInterface import pressureProfile File "C:\Users\JackDell\Documents\tcrm\PressureInterface\pressureProfile.py", line 54, in import wind.vmax as vmax File "C:\Users\JackDell\Documents\tcrm\wind__init__.py", line 53, in from ProcessMultipliers import processMultipliers as pM File "C:\Users\JackDell\Documents\tcrm\ProcessMultipliers\processMultipliers.py", line 74, in from osgeo import osr, gdal, gdalconst ModuleNotFoundError: No module named 'osgeo'

====================================================================== ERROR: tests.test_processMultipliers (unittest.loader._FailedTest)

ImportError: Failed to import test module: tests.test_processMultipliers Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 436, in _find_test_path module = self._get_module_from_name(name) File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 377, in _get_module_from_name import(name) File "C:\Users\JackDell\Documents\tcrm\tests\test_processMultipliers.py", line 17, in from osgeo import osr, gdal ModuleNotFoundError: No module named 'osgeo'

====================================================================== ERROR: tests.test_system (unittest.loader._FailedTest)

ImportError: Failed to import test module: tests.test_system Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 436, in _find_test_path module = self._get_module_from_name(name) File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 377, in _get_module_from_name import(name) File "C:\Users\JackDell\Documents\tcrm\tests\test_system.py", line 10, in import Evaluate.interpolateTracks File "C:\Users\JackDell\Documents\tcrm\Evaluate__init.py", line 12, in from .pressureDistribution import PressureDistribution File "C:\Users\JackDell\Documents\tcrm\Evaluate\pressureDistribution.py", line 36, in from PlotInterface.figures import QuantileFigure, saveFigure File "C:\Users\JackDell\Documents\tcrm\PlotInterface\figures.py", line 18, in import wind.windmodels as windmodels File "C:\Users\JackDell\Documents\tcrm\wind\init__.py", line 53, in from ProcessMultipliers import processMultipliers as pM File "C:\Users\JackDell\Documents\tcrm\ProcessMultipliers\processMultipliers.py", line 74, in from osgeo import osr, gdal, gdalconst ModuleNotFoundError: No module named 'osgeo'

====================================================================== ERROR: tests.test_vmax (unittest.loader._FailedTest)

ImportError: Failed to import test module: tests.test_vmax Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 436, in _find_test_path module = self._get_module_from_name(name) File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 377, in _get_module_from_name import(name) File "C:\Users\JackDell\Documents\tcrm\tests\test_vmax.py", line 48, in import wind.vmax as vmax File "C:\Users\JackDell\Documents\tcrm\wind__init__.py", line 53, in from ProcessMultipliers import processMultipliers as pM File "C:\Users\JackDell\Documents\tcrm\ProcessMultipliers\processMultipliers.py", line 74, in from osgeo import osr, gdal, gdalconst ModuleNotFoundError: No module named 'osgeo'

====================================================================== ERROR: wind (unittest.loader._FailedTest)

ImportError: Failed to import test module: wind Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 470, in _find_test_path package = self._get_module_from_name(name) File "C:\ProgramData\Anaconda3\lib\unittest\loader.py", line 377, in _get_module_from_name import(name) File "C:\Users\JackDell\Documents\tcrm\wind__init__.py", line 53, in from ProcessMultipliers import processMultipliers as pM File "C:\Users\JackDell\Documents\tcrm\ProcessMultipliers\processMultipliers.py", line 74, in from osgeo import osr, gdal, gdalconst ModuleNotFoundError: No module named 'osgeo'


Ran 169 tests in 78.323s

FAILED (errors=7, skipped=6)

richsdixon commented 3 years ago

Hi - I've just been searching on here as I have exactly the same issue when running from scratch on Ubuntu 20.04: as far as I can tell it's a compatibility issue with Ubuntu 20.04 installs involving "osgeo" from gdal but as a relative Linux novice I'm not sure - but would be interested to hear about any solution here as I'd love to get this software running.

from osgeo import osr, gdal, gdalconst ModuleNotFoundError: No module named 'osgeo'

The best solution I can find is to roll back to Ubuntu 18.04 but I'd really like to avoid that !

richsdixon commented 3 years ago

Just wanted to put an addendum here - I managed to solve this error by installing through conda instead: http://geoscienceaustralia.github.io/tcrm/docs/install.html#using-anaconda (thanks to @wcarthur for the guidance here)

wcarthur commented 3 years ago

@bangqianchen as per @richsdixon, I suggest using the conda package manager to install the required dependencies. I can confirm the environment file in the repository (tcrmenv.yml) works on Windows operating systems