-
Notifications
You must be signed in to change notification settings - Fork 704
Closed
Milestone
Description
We handle missing extension dependencies nicely by simply disabling the extension:
$ mopidy
INFO Disabled extension soundcloud: Dependency requests>=2.0.0 not found
INFO Disabled extension beets: Dependency requests>=2.0.0 not found
INFO Disabled extension gmusic: Dependency requests>=1.1.0 not found
INFO Enabled extensions: spotify, mpd, stream, scrobbler, mpris, dirble, local
INFO Disabled extensions: http, beets, nad, gmusic, subsonic, radio-de, arcam, soundcloud
...
Though, if an extension is installed, but has the wrong version, we crash and burn:
$ mopidy
ERROR (requests 1.2.3 (/usr/lib/python2.7/dist-packages), Requirement.parse('requests>=2.0.0'))
Traceback (most recent call last):
File "/home/jodal/dev/mopidy/mopidy/__main__.py", line 78, in main
if not ext.validate_extension(extension):
File "/home/jodal/dev/mopidy/mopidy/ext.py", line 219, in validate_extension
extension.entry_point.require()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2027, in require
working_set.resolve(self.dist.requires(self.extras),env,installer))
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 598, in resolve
raise VersionConflict(dist,req) # XXX put more info here
VersionConflict: (requests 1.2.3 (/usr/lib/python2.7/dist-packages), Requirement.parse('requests>=2.0.0'))
Traceback (most recent call last):
File "/home/jodal/dev/virtualenvs/mopidy/bin/mopidy", line 9, in <module>
load_entry_point('Mopidy==0.18.0', 'console_scripts', 'mopidy')()
File "/home/jodal/dev/mopidy/mopidy/__main__.py", line 78, in main
if not ext.validate_extension(extension):
File "/home/jodal/dev/mopidy/mopidy/ext.py", line 219, in validate_extension
extension.entry_point.require()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2027, in require
working_set.resolve(self.dist.requires(self.extras),env,installer))
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 598, in resolve
raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (requests 1.2.3 (/usr/lib/python2.7/dist-packages), Requirement.parse('requests>=2.0.0'))
Having the wrong version should be handled just as nicely as not having the dependency.
Reactions are currently unavailable