[SOLVED] Trouble using Spotify and Soundcloud

Hi everybody!

I’m having some trouble using Mopidy-Spotify and Mopidy-Soundcloud. I get the following error message when starting Mopidy in verbose mode, and when running “mopidy local scan”:

ERROR    2016-10-04 21:21:04,016 [12019:MainThread] mopidy.__main__
  Extension soundcloud failed during setup, this might have left the registry in a bad state.
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/mopidy/__main__.py", line 121, in main
    extension.setup(registry)
  File "/usr/lib64/python2.7/site-packages/mopidy_soundcloud/__init__.py", line 40, in setup
    from .actor import SoundCloudBackend
  File "/usr/lib64/python2.7/site-packages/mopidy_soundcloud/actor.py", line 9, in <module>
    from .library import SoundCloudLibraryProvider
  File "/usr/lib64/python2.7/site-packages/mopidy_soundcloud/library.py", line 12, in <module>
    from mopidy_soundcloud.soundcloud import safe_url
  File "/usr/lib64/python2.7/site-packages/mopidy_soundcloud/soundcloud.py", line 14, in <module>
    import requests
  File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 64, in <module>
    from . import utils
  File "/usr/lib/python2.7/site-packages/requests/utils.py", line 29, in <module>
    from .exceptions import InvalidURL, InvalidHeader, FileModeWarning
ImportError: cannot import name InvalidHeader
ERROR    2016-10-04 21:21:04,040 [12019:MainThread] mopidy.__main__
  Extension spotify failed during setup, this might have left the registry in a bad state.
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/mopidy/__main__.py", line 121, in main
    extension.setup(registry)
  File "/usr/lib64/python2.7/site-packages/mopidy_spotify/__init__.py", line 49, in setup
    from mopidy_spotify.backend import SpotifyBackend
  File "/usr/lib64/python2.7/site-packages/mopidy_spotify/backend.py", line 13, in <module>
    from mopidy_spotify import Extension, library, playback, playlists
  File "/usr/lib64/python2.7/site-packages/mopidy_spotify/library.py", line 9, in <module>
    from mopidy_spotify import (
  File "/usr/lib64/python2.7/site-packages/mopidy_spotify/distinct.py", line 7, in <module>
    from mopidy_spotify import search
  File "/usr/lib64/python2.7/site-packages/mopidy_spotify/search.py", line 8, in <module>
    import requests
  File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 64, in <module>
    from . import utils
  File "/usr/lib/python2.7/site-packages/requests/utils.py", line 22, in <module>
    from . import certs
ImportError: cannot import name certs
ERROR    2016-10-04 21:21:04,051 [12019:MainThread] mopidy.__main__
  Extension stream failed during setup, this might have left the registry in a bad state.
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/mopidy/__main__.py", line 121, in main
    extension.setup(registry)
  File "/usr/lib64/python2.7/site-packages/mopidy/stream/__init__.py", line 31, in setup
    from .actor import StreamBackend
  File "/usr/lib64/python2.7/site-packages/mopidy/stream/actor.py", line 13, in <module>
    from mopidy.internal import http, playlists
  File "/usr/lib64/python2.7/site-packages/mopidy/internal/http.py", line 6, in <module>
    import requests
  File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 64, in <module>
    from . import utils
  File "/usr/lib/python2.7/site-packages/requests/utils.py", line 22, in <module>
    from . import certs
ImportError: cannot import name certs

I’m running Fedora 24 and I have installed the extensions using pip. It does not matter what user I run Mopidy as (root included), or if I run it as a service (altough, I had to write the service file manually). My mopidy.conf looks like this:

[mpd]
hostname = ::
[local]
enabled = true
media_dir = /home/My_User/Music
excluded_file_extensions =
	.html
	.jpeg
	.jpg
	.pdf
	.png
	.txt
	.gif
[audio]
mixer = software
mixer_volume = 20
[spotify]
enabled = true
username = My_Username
password = My_Password
bitrate = 320
[soundcloud]
enabled = true
auth_token = My_Auth_Token
explore_songs = 25

I can play local files just fine and, me being a noob, can’t figure what’s wrong. Thanks in advance!

Looks like your version of requests is incompatible. You could try updating it. It’d be helpful if you posted the output of mopidy deps.

I see. Here’s my output of mopidy deps:

Executable: /usr/bin/mopidy
Platform: Linux-4.7.5-200.fc24.x86_64-x86_64-with-fedora-24-Twenty_Four
Python: CPython 2.7.12 from /usr/lib64/python2.7
Mopidy: 2.0.1 from /usr/lib64/python2.7/site-packages
  requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
  tornado>=2.3: 4.4.2 from /usr/lib64/python2.7/site-packages
    singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
      six: 1.10.0 from /usr/lib/python2.7/site-packages
    certifi: 2016.9.26 from /usr/lib/python2.7/site-packages
    backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
  setuptools: 28.2.0 from /usr/lib/python2.7/site-packages
  Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/site-packages
Mopidy-SoundCloud: 2.0.2 from /usr/lib64/python2.7/site-packages
  Mopidy>=1.0: 2.0.1 from /usr/lib64/python2.7/site-packages
    requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
    tornado>=2.3: 4.4.2 from /usr/lib64/python2.7/site-packages
      singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
        six: 1.10.0 from /usr/lib/python2.7/site-packages
      certifi: 2016.9.26 from /usr/lib/python2.7/site-packages
      backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
    setuptools: 28.2.0 from /usr/lib/python2.7/site-packages
    Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/site-packages
  requests>=2.0.0: 2.11.1 from /usr/lib/python2.7/site-packages
  setuptools: 28.2.0 from /usr/lib/python2.7/site-packages
  Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/site-packages
Mopidy-Spotify: 3.0.0 from /usr/lib64/python2.7/site-packages
  Mopidy>=2.0: 2.0.1 from /usr/lib64/python2.7/site-packages
    requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
    tornado>=2.3: 4.4.2 from /usr/lib64/python2.7/site-packages
      singledispatch: 3.4.0.3 from /usr/lib/python2.7/site-packages
        six: 1.10.0 from /usr/lib/python2.7/site-packages
      certifi: 2016.9.26 from /usr/lib/python2.7/site-packages
      backports_abc>=0.4: 0.4 from /usr/lib/python2.7/site-packages
    setuptools: 28.2.0 from /usr/lib/python2.7/site-packages
    Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/site-packages
  pyspotify>=2.0.5: 2.0.5 from /usr/lib64/python2.7/site-packages
    cffi>=1.0.0: 1.8.3 from /usr/lib64/python2.7/site-packages
      pycparser: 2.14 from /usr/lib/python2.7/site-packages
  setuptools: 28.2.0 from /usr/lib/python2.7/site-packages
  requests>=2.0: 2.11.1 from /usr/lib/python2.7/site-packages
  Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/site-packages
GStreamer: 1.8.3.0 from /usr/lib64/python2.7/site-packages/gi
  Detailed information: 
    Python wrapper: python-gi 3.20.1
    Relevant elements:
      Found:
        uridecodebin
        souphttpsrc
        appsrc
        alsasink
        osssink
        oss4sink
        pulsesink
        id3demux
        id3v2mux
        lamemp3enc
        mad
        mpegaudioparse
        mpg123audiodec
        vorbisdec
        vorbisenc
        vorbisparse
        oggdemux
        oggmux
        oggparse
        flacdec
        flacparse
        shout2send
      Not found:
        flump3dec

Tried updating requests, but I have the latest version. Any idea where I go from here? :slight_smile:

I solved the problem by uninstalling requests with pip and installing it from source!

There’s a bunch of google hits for similar problems and they all seem to be solved by various combinations of uninstalling and reinstalling requests.

But glad it’s working for you. Do you now have a different version than what was reported by mopidy deps previously?

mopidy deps reported version 2.11.1 when I had it installed by pip. Now when I have it built from source it reports version 2.10.0. So that’s that.