Subliminal does not work in Ubuntu 18.04

Answer that works not only for Ubuntu 18.04, Bionic but also any release with pip installed

The problem appears to be an incompatibility between the latest python stevedore package and guessit, as reported in the Debian Bug Report Logs

The solution would be to install an appropriate version of stevedore from the PyPi Repository, in order to do that

  • Uninstall the existing packages that you've obtained from apt by using sudo apt-get purge -y python3-stevedore
  • Install the PyPi version of subliminal with the appropriate version of stevedore by using sudo pip3 install subliminal stevedore==1.19.1

Now running subliminal from the terminal will let it run as usual:

Subliminal on 18.04


argparse is now part of Python2 and Python3, but subliminal depends on python3-stevedore and this package contains the entry argparse in requires.txt. You can check this with:

  • Vivid

    cat /usr/lib/python3/dist-packages/stevedore-1.3.0.egg-info/requires.txt
    
  • Wily

    cat /usr/lib/python3/dist-packages/stevedore-1.5.0.egg-info/requires.txt
    

The solution is a dirty hack, remove the line:

  • Vivid

    sudo sed -i.bak '/argparse/d' /usr/lib/python3/dist-packages/stevedore-1.3.0.egg-info/requires.txt
    
  • Wily

    sudo sed -i.bak '/argparse/d' /usr/lib/python3/dist-packages/stevedore-1.5.0.egg-info/requires.txt
    

For Bionic (18.04) the above works but take into account the stevedore version is higher. It can be checked with:

ls -l /usr/lib/python3/dist-packages/

and then search for the stevedore-* folder. In my case:

sudo sed -i.bak '/argparse/d' /usr/lib/python3/dist-packages/stevedore-1.28.0.egg-info/requires.txt