ESPRI-Mod / synda

ESGF Downloader (this is a deprecated repository, the tool has now moved to https://github.com/ESGF/esgf-download)
https://espri-mod.github.io/synda/
21 stars 11 forks source link

Installation on Ubuntu 20.04 #176

Closed clairbarnes closed 3 years ago

clairbarnes commented 3 years ago

Hi,

I'm trying to install synda for Ubuntu 20.04. No DEB package is available for this version, so I tried to install from source using wget --no-check-certificate https://raw.githubusercontent.com/Prodiguer/synda/master/sdc/install.sh, but this produced a 404 not found error.

Could you please either add a synda repository for Ubuntu 20 or provide a working path to the install file? I had a quick search through the repository here for install.sh but didn't find anything.

Thanks,

Clair

AtefBN commented 3 years ago

Hello @ClairBee Synda was migrated recently into a conda package. It should be easier for users to install including on Ubuntu distribution, it is just a one command line away after you install conda on your machine -> http://prodiguer.github.io/synda/sdt/conda_upgrade.html

clairbarnes commented 3 years ago

Hi @AtefBN,

Thanks for your quick response. I've just made a clean installation of the latest version of Miniconda and followed the steps at http://prodiguer.github.io/synda/sdt/conda_install.html - but the installation fails, with the following rather cryptic output:

(synda-env) [clair@orange ~]$ conda install -c IPSL synda
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: | 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                                                

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Any thoughts as to what might be going wrong?

Thanks,

Clair

AtefBN commented 3 years ago

Hello Clair, Yes we're experiencing few issues with yesterday's release and we're working on a a fix. You can however in the meantime get the previous stable version 3.20 running this command: conda install -c IPSL synda==3.20 Please do note 3.20 runs on a python 2.7 environment as opposed to the most recent version, but it shouldn't be a problem.

clairbarnes commented 3 years ago

Hi @AtefBN,

Thanks for the above. I've uninstalled miniconda and installed anaconda (in case that makes a difference) and tried again using the previous stable version as you suggested. This time I think synda has installed successfully; however, when I try to actually run synda, I get a new error:

(synda-env) [clair@orange ~]$ export ST_HOME=/home/clair/.synda
(synda-env) [clair@orange ~]$ synda -h
Traceback (most recent call last):
  File "/home/clair/anaconda3/envs/synda-env/bin/synda", line 11, in <module>
    load_entry_point('synda==3.20', 'console_scripts', 'synda')()
  File "/home/clair/anaconda3/envs/synda-env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 489, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/home/clair/anaconda3/envs/synda-env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2852, in load_entry_point
    return ep.load()
  File "/home/clair/anaconda3/envs/synda-env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2443, in load
    return self.resolve()
  File "/home/clair/anaconda3/envs/synda-env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2449, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/home/clair/anaconda3/envs/synda-env/lib/python2.7/site-packages/synda/sdt/main.py", line 27, in <module>
    import sdsubparser
  File "/home/clair/anaconda3/envs/synda-env/lib/python2.7/site-packages/synda/sdt/sdsubparser.py", line 24, in <module>
    from synda.source.config.subcommand.constants import get_default_limit
  File "/home/clair/anaconda3/envs/synda-env/lib/python2.7/site-packages/synda/source/config/subcommand/constants.py", line 51, in <module>
    'search': Preferences().interface_search_listing_limit_for_small_mode,
  File "/home/clair/anaconda3/envs/synda-env/lib/python2.7/site-packages/synda/source/config/file/user/preferences/models.py", line 222, in interface_search_listing_limit_for_small_mode
    return self.get_data().getint('interface', 'search_listing_limit_for_small_mode')
  File "/home/clair/anaconda3/envs/synda-env/lib/python2.7/ConfigParser.py", line 359, in getint
    return self._get(section, int, option)
  File "/home/clair/anaconda3/envs/synda-env/lib/python2.7/ConfigParser.py", line 356, in _get
    return conv(self.get(section, option))
  File "/home/clair/anaconda3/envs/synda-env/lib/python2.7/ConfigParser.py", line 607, in get
    raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'interface'
(synda-env) [clair@orange ~]$ 

Any ideas?

AtefBN commented 3 years ago

Interesting, I'll try replicate this behavior on my end. The new release (synda on python 3) should be out tomorrow morning as well. So might be worth a shot if I don't find the reason for this behavior in the meantime. Deeply sorry for the inconvenience.

pjournou-ipsl commented 3 years ago

Last news about synda : we have encountered some troubles during the deployment of our last synda versions on anaconda platform due, particularly, to the major paradigm change (migration from python 2 to python 3). We hope the 3.32 latest version will give full satisfaction.

pjournou-ipsl commented 3 years ago

We precise that the first action after installation ends successfully is to execute the two following commands, respectively : synda init-env and then, synda check-env to set interactively user credentials.

clairbarnes commented 3 years ago

Okay, so I've tried installing synda 3.32 from within a conda environment running both python 2.7.18 and 3.8.8, and neither worked. First of all,

conda create --name synda-env python=3.8
conda activate synda-env
conda install -c IPSL synda

failed with the same message as before,

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: | 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                   

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Trying again with python 2.7 got slightly further:

conda create --name synda-env python=2.7
conda activate synda-env
conda install -c IPSL synda
export ST_HOME=/home/clair/.synda
synda init-env

but failed with

Traceback (most recent call last):
  File "/home/clair/anaconda3/envs/synda-env/bin/synda", line 33, in <module>
    sys.exit(load_entry_point('synda==3.32', 'console_scripts', 'synda')())
  File "/home/clair/anaconda3/envs/synda-env/bin/synda", line 22, in importlib_load_entry_point
    for entry_point in distribution(dist_name).entry_points
  File "/home/clair/anaconda3/envs/synda-env/lib/python2.7/site-packages/importlib_metadata/__init__.py", line 489, in distribution
    return Distribution.from_name(distribution_name)
  File "/home/clair/anaconda3/envs/synda-env/lib/python2.7/site-packages/importlib_metadata/__init__.py", line 194, in from_name
    raise PackageNotFoundError(name)
importlib_metadata.PackageNotFoundError: synda

However, if I try to run conda install -c IPSL synda again, I'm told that all requested packages are installed. Any ideas?

pjournou-ipsl commented 3 years ago

Please, see if you have a .condarc file hidden in your cd ~ directory. Send me the content if it exists.

clairbarnes commented 3 years ago

I didn't have .condarc, but a quick google suggested that I should run conda config to create it, so I did. Now .condarc contains

{}
pjournou-ipsl commented 3 years ago

Please, can you execute this command : conda config --add channels conda-forge ?

and try to reinstall latest synda version in an python 3.8 python environment i.e. : conda create --name synda-env python=3.8 conda activate synda-env conda install -c IPSL synda

clairbarnes commented 3 years ago

That's fixed it! Fantastic, thankyou so much for your help.