tethys icon indicating copy to clipboard operation
tethys copied to clipboard

Issue with installing package

Open khairul047 opened this issue 9 months ago • 7 comments

I am getting the following error when trying to pip install tethys-downscaling

error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [3 lines of output] error in gcamreader setup command: 'install_requires' must be a string or iterable of strings containing valid project/version requirement specifiers; Expected end or semicolon (after version specifier) lxml>=4.6.3click ~~~~~~~~^ [end of output]

khairul047 avatar Apr 18 '25 00:04 khairul047

hi @khairul047, thanks for reporting; can you let me know what operating system and python version you're using so i can try to reproduce?

the error message makes me think there's a misinterpretation of line endings. as a workaround while we try to diagnose, you could try cloning the gcamreader repository, checking that the line endings in its requirements.txt look correct, and then installing from source.

thurber avatar Apr 18 '25 16:04 thurber

Thank you for your reply. I am using Windows 11 Enterprise and the python version is 3.13.3. I was able to install gcamreder using both cloning and pip command. However, when I am trying to install tethys, I am getting the error message.

khairul047 avatar Apr 18 '25 19:04 khairul047

Thanks @khairul047, i can reproduce the issue with all Python versions 3.10 and above.

There's a typo in gcamreader 1.3.0 setup.py that is causing this and has since been fixed, but the newer gcamreader introduces another dependency issue. So this will take a little time and coordination for us to fix properly.

In the meantime, if you're able to use a Python 3.9 virtual environment, things should still work there. I'll get started fixing this up and notify here when resolved.

thurber avatar Apr 18 '25 20:04 thurber

fix will depend on gcamreader issue https://github.com/JGCRI/gcamreader/issues/42

thurber avatar Apr 18 '25 20:04 thurber

I used python 3.9 then I was able to install tethys. I installed it in virtual environment. However, when I am trying to run the example problem, then I got the following error.

"C:\Users\khasan\AppData\Local\Programs\Python\Python39\tethys_env\lib\site-packages\bokeh\core\enums.py", line 238, in enumeration raise ValueError(f"expected a non-empty sequence of strings, got {nice_join(values)}") ValueError: expected a non-empty sequence of strings, got typing.Literal['replace', 'append', 'intersect', 'subtract', 'xor'] or toggle

If I downgrade the bokeh in that case I got the following error

File "C:\Users\khasan\AppData\Local\Programs\Python\Python39\tethys_env\lib\site-packages\panel\reactive.py", line 28, in from bokeh.models import ImportedStyleSheet ImportError: cannot import name 'ImportedStyleSheet' from 'bokeh.models' (C:\Users\khasan\AppData\Local\Programs\Python\Python39\tethys_env\lib\site-packages\bokeh\models_init_.py)

khairul047 avatar Apr 19 '25 15:04 khairul047

Hi @khairul047 I just installed Tethys yesterday in a linux system using the following code:

conda create -n tethys PyYAML=6.0 numpy=1.22 pandas=1.4.0 netCDF4=1.6 xarray=2022.09.0 rioxarray=0.12.4 tqdm=4.66.2 matplotlib=3.8.3 dask=2023 geopandas=0.14.3 hvplot=0.9.2 lxml=4.6.3 bokeh=3.4.0

conda activate tethys

pip install tethys-downscaling

The issue seems to be a compatibility problem with an old version of bokeh and python 3.9. I found an error while trying to download the example dataset through tethys, but I downloaded it using the zenodo link and was afterwards able to correcly run the model. Hope this helps

rodrigoms95 avatar Apr 22 '25 19:04 rodrigoms95

Thank you. It is working.

khairul047 avatar May 07 '25 18:05 khairul047