Mopidy doesn't work anymore after upgrading from 1.1.0-2 to 1.1.1-1 (on Ubuntu 12.04)

Just upgraded to 1.1.1-1 and now Mopidy doesn’t start anymore. Every Mopidy command I use returns this error:

$ mopidy
Traceback (most recent call last):
File “/usr/bin/mopidy”, line 5, in
from pkg_resources import load_entry_point
File “/usr/lib/python2.7/dist-packages/pkg_resources.py”, line 2711, in <modul
e>
parse_requirements(requires), Environment()
File “/usr/lib/python2.7/dist-packages/pkg_resources.py”, line 584, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: requests>=2.0

Any idea’? I’m running Ubuntu 12.4 with Python 2.7.3. Mopidy installed via apt-get install from the http://apt.mopidy.com repository.

You’re using Debian packages for Debian jessie (stable) on Ubuntu 12.04, which is so old that you should be using the Debian packages for Debian wheezy (oldstable). The wheezy packages includes backports of packages like python-requests which are too old on your system.

See https://docs.mopidy.com/en/latest/installation/debian/ for recently updated instructions and look for “Ubuntu 12.04”.

Thanks. I followed the instructions to add the Wheezy packages, and now both versions are shown:

utilite@ThePlayer:~$ sudo apt-cache policy mopidy
mopidy:
Installed: 1.1.1-1
Candidate: 1.1.1-1
Version table:
*** 1.1.1-1 0
500 http://apt.mopidy.com/ stable/main armel Packages
500 http://apt.mopidy.com/ wheezy/main armel Packages

Now I’ll have to figure out how to remove the Stable package (without loosing my configuration) and instruct apt-get to install the Wheezy version. (Doing a sudo apt-get dist-upgrade is not an option as that breaks my system).

As for the mopidy package, it is identical in the wheezy and jessie dists. But packages with Python C extensions, like python-spotify differs between the dists. Also, the wheezy dist includes backports of e.g. python-requests and python-tornado that is needed for Mopidy to work on wheezy.

Do you get any errors when running sudo apt-get upgrade?

Are you sure you only have one file in /etc/apt/sources.list.d referring to apt.mopidy.com? You should remove any references to the stable/main dist of apt.mopidy.com from your sources.list.

No errors on sudo apt-get upgrade.

I only have one file in /etc/apt/sources.list.d, named mopidy.list. It only contains references to
the wheezy archive.

I’ll probably might need to clean the package cache to get rid of the Stable package version and than run a sudo apt-get upgrade again.

Just found out I had some references to the Stable version in /etc/apt/sources.list. Removed the entries, now sudo apt-cache showpkg mopidy only displays the wheezy versions.

Now trying remove and reinstall.

Made some progress. I definitely have an issue with the 1.1.1-1 package:

  • Removed mopidy (sudo apt-get remove mopidy)
  • Installed the wheezy 1.1.1-1 package, same errors again as mentioned before
  • Removed mopidy again
  • Installed the wheezy 1.1.0-2 package, everything works fine again!

Repeated this complete process a second time with the same result, 1.1.1-1 doesn’t work, 1.1.0-2 is working fine.

Apt-get install clearly shows the wheezy version is being installed:
Get:1 htp://apt.mopidy.com/ wheezy/main mopidy all 1.1.0-2 [226 kB]

Can it be the 1.1.1-1 package is missing some of the backport components?

(Happy at the moment I can enjoy some music again :grinning: , but it would be nice to follow the upgrades for as long as possible).

Both Mopidy 1.1.0 and 1.1.1 require Requests >= 2.0. The difference is that Mopidy 1.1.1 is explicit about what version it needs (“Requests >= 2”) vs 1.1.0 not specifiying the version (“Requests”). With 1.1.0 you’ll see crashes as soon as you do something that triggers an HTTP request somewhere.

If you’re using the wheezy dist from apt.mopidy.com you should get a backport of the python-requests package from it, providing Requests >= 2. In theory, a simple sudo apt-get upgrade should install it. If not, try running sudo apt-get install python-requests. Also, check what version you have installed with dpkg -l python-requests.

I came to the same conclusion and was already testing. I had to upgrade Requests via sudo apt-get install python-requests, the version went from 0.8.2-1 to 2.0.0-1~bpo70+. Upgraded Mopidy to 1.1.1-1 and now it starts!

The bad news is that it won’t play any music, When selecting an album I get a 'directory or file not ’ found in my MPD client. I’ll still need to troubleshoot this, it’s probably a simple config issue.

Thanks for pointing me in the right direction!

Problem solved. Version 1.1.1-1 searches for the json library in a ‘local’ subfolder below the ‘data_dir’. So after upgrading to 1.1.1-1 you need to perform a local scan to build a new library. I just moved my library file to that subfolder and I’m fine. Don’t know if it’s supposed to work like this.