Opened 3 years ago

Closed 3 years ago

#62914 closed defect (fixed)

py37-obspy @1.2.2_0 greenlet not installed and reading fails

Reported by: anowacki (Andy Nowacki) Owned by: stromnov (Andrey Stromnov)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: Cc:
Port: py-sqlalchemy, py-obspy

Description (last modified by anowacki (Andy Nowacki))

When trying to read some files (certainly StationXML files) using py37-obspy, I get a DistributionNotFound error as greenlet is required but not installed (DistributionNotFound: The 'greenlet!=0.4.17' distribution was not found and is required by sqlalchemy ; see editedfull traceback below.)

If I install py37-greenlet, all is well and IO works again.

Obspy was simply installed with port install py37-obspy.

I'm not sure of the implications of this, but I guess it might simply be required that the appropriate greenlet version be added to the library dependencies of the port file. Apologies that I don't have the time to set up a testing environment to confirm this.

I also note that none of the py-obspy subports for different Python versions contains a library dependency on greenlet, so it is possible that all the subports are affected.

$ python -c 'import obspy; obspy.core.inventory.read_inventory("test/data/orfeus_NL_HGN.xml")'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/obspy/core/util/decorator.py", line 300, in _map_example_filename
    return func(*args, **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/obspy/core/inventory/inventory.py", line 89, in read_inventory
    **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/obspy/core/util/base.py", line 702, in _generic_reader
    generic = callback_func(pathnames[0], **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/obspy/core/util/decorator.py", line 210, in uncompress_file
    result = func(filename, *args, **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/obspy/core/inventory/inventory.py", line 98, in _read
    **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/obspy/core/util/base.py", line 435, in _read_from_plugin
    'isFormat')
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/obspy/core/util/misc.py", line 651, in buffered_load_entry_point
    _ENTRY_POINT_CACHE[hash_str] = load_entry_point(dist, group, name)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 474, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2846, in load_entry_point
    return ep.load()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2449, in load
    self.require(*args, **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2472, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pkg_resources/__init__.py", line 772, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'greenlet!=0.4.17' distribution was not found and is required by sqlalchemy

$ sudo port install py37-greenlet
--->  Computing dependencies for py37-greenlet
--->  Activating py37-greenlet @1.0.0_0
--->  Cleaning py37-greenlet
--->  Scanning binaries for linking errors
--->  No broken files found.                             
--->  No broken ports found.

$ python -c 'import obspy; obspy.core.inventory.read_inventory("test/data/orfeus_NL_HGN.xml")'

$ 

Change History (3)

comment:1 Changed 3 years ago by anowacki (Andy Nowacki)

Description: modified (diff)

comment:2 Changed 3 years ago by reneeotten (Renee Otten)

Cc: petrrr removed
Owner: set to stromnov
Port: py-sqlalchemy added
Status: newassigned

from the Traceback it looks like the py-sqlalchemy is missing the dependency on py-greenlet, so likely nothing wrong with the py-obspy port.

comment:3 Changed 3 years ago by reneeotten (Renee Otten)

Resolution: fixed
Status: assignedclosed

fixed in this commit

Note: See TracTickets for help on using tickets.