Eodag require Python>=3.8 for pickle protocol
When using Python 3.7.2 for s1tiling, the code crashed at execution with the following error
Traceback (most recent call last):
File "/home/il/koleck/.conda/envs/s1tiling/lib/python3.7/site-packages/eodag/api/core.py", line 118, in build_index
create_index = not exists_in(index_dir)
File "/home/il/koleck/.conda/envs/s1tiling/lib/python3.7/site-packages/whoosh/index.py", line 136, in exists_in
ix = open_dir(dirname, indexname=indexname)
File "/home/il/koleck/.conda/envs/s1tiling/lib/python3.7/site-packages/whoosh/index.py", line 123, in open_dir
return FileIndex(storage, schema=schema, indexname=indexname)
File "/home/il/koleck/.conda/envs/s1tiling/lib/python3.7/site-packages/whoosh/index.py", line 421, in __init__
TOC.read(self.storage, self.indexname, schema=self._schema)
File "/home/il/koleck/.conda/envs/s1tiling/lib/python3.7/site-packages/whoosh/index.py", line 664, in read
segments = stream.read_pickle()
File "/home/il/koleck/.conda/envs/s1tiling/lib/python3.7/site-packages/whoosh/filedb/structfile.py", line 245, in read_pickle
return load_pickle(self.file)
ValueError: unsupported pickle protocol: 5
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/il/koleck/.conda/envs/s1tiling/bin/S1Processor", line 33, in <module>
sys.exit(load_entry_point('S1Tiling', 'console_scripts', 'S1Processor')())
File "/home/il/koleck/.conda/envs/s1tiling/lib/python3.7/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/home/il/koleck/.conda/envs/s1tiling/lib/python3.7/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/il/koleck/.conda/envs/s1tiling/lib/python3.7/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/il/koleck/.conda/envs/s1tiling/lib/python3.7/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/il/koleck/s1tiling/s1tiling/S1Processor.py", line 275, in main
with S1FileManager(config) as s1_file_manager:
File "/home/il/koleck/s1tiling/s1tiling/libs/S1FileManager.py", line 178, in __init__
self._dag = EODataAccessGateway(self.cfg.eodagConfig)
File "/home/il/koleck/.conda/envs/s1tiling/lib/python3.7/site-packages/eodag/api/core.py", line 96, in __init__
self.build_index()
File "/home/il/koleck/.conda/envs/s1tiling/lib/python3.7/site-packages/eodag/api/core.py", line 134, in build_index
if "unsupported pickle protocol" in ve.message:
AttributeError: 'ValueError' object has no attribute 'message'
According to Python documentation https://docs.python.org/3/library/pickle.html , pickle protocol 5 is only available from Python 3.8. It means that S1Tiling requires Python >=3.8.
Edited by Luc Hermitte