web-dev-qa-db-fra.com

Subliminal ne fonctionne pas dans Ubuntu 18.04

Subliminal donne cette erreur dans Ubuntu 18.04

Traceback (most recent call last):
  File "/usr/bin/subliminal", line 9, in <module>
    load_entry_point('subliminal==1.1.1', 'console_scripts', 'subliminal')()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 480, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2693, in load_entry_point
    return ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2324, in load
    return self.resolve()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2330, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3/dist-packages/subliminal/__init__.py", line 10, in <module>
    from .api import (ProviderPool, check_video, provider_manager, download_best_subtitles, download_subtitles,
  File "/usr/lib/python3/dist-packages/subliminal/api.py", line 13, in <module>
    from .subtitle import compute_score, get_subtitle_path
  File "/usr/lib/python3/dist-packages/subliminal/subtitle.py", line 7, in <module>
    from guessit.matchtree import MatchTree
  File "/usr/lib/python3/dist-packages/guessit/__init__.py", line 99, in <module>
    from guessit.plugins import transformers
  File "/usr/lib/python3/dist-packages/guessit/plugins/transformers.py", line 222, in <module>
    reload()
  File "/usr/lib/python3/dist-packages/guessit/plugins/transformers.py", line 220, in reload
    reload_options(all_transformers())
  File "/usr/lib/python3/dist-packages/guessit/plugins/transformers.py", line 179, in all_transformers
    return _extensions.objects()
  File "/usr/lib/python3/dist-packages/guessit/plugins/transformers.py", line 111, in objects
    return self.map(self._get_obj)
  File "/usr/lib/python3/dist-packages/stevedore/extension.py", line 261, in map
    raise NoMatches('No %s extensions found' % self.namespace)
stevedore.exception.NoMatches: No guessit.transformer extensions found

Sortie de la politique apt-cache subliminale

  Installed: 1.1.1-2
  Candidate: 1.1.1-2
  Version table:
 *** 1.1.1-2 500
        500 http://in.archive.ubuntu.com/ubuntu bionic/universe AMD64 Packages
        500 http://in.archive.ubuntu.com/ubuntu bionic/universe i386 Packages
        100 /var/lib/dpkg/status
5
Lincity

Une réponse qui fonctionne non seulement pour Ubuntu 18.04, Bionic mais également pour toute version avec pip installée

Le problème semble être une incompatibilité entre le dernier paquet python stevedore et guessit, comme indiqué dans les journaux de rapports de bogue Debian

La solution consisterait à installer une version appropriée de stevedore à partir du référentiel PyPi , afin de le faire.

  • Désinstallez les paquets existants que vous avez obtenus d'apt en utilisant Sudo apt-get purge -y python3-stevedore
  • Installez la version PyPi de subliminal avec la version appropriée de stevedore en utilisant Sudo pip3 install subliminal stevedore==1.19.1

Maintenant, lancer subliminal depuis le terminal le laissera fonctionner comme d'habitude:

Subliminal on 18.04

4
Amith KK

argparse fait maintenant partie de Python2 et Python3, mais subliminal dépend de python3-stevedore et ce package contient l'entrée argparse dans requires.txt. Vous pouvez vérifier cela avec:

  • Vif

    cat /usr/lib/python3/dist-packages/stevedore-1.3.0.Egg-info/requires.txt
    
  • Rusé

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

La solution est un hack sale, supprimez la ligne:

  • Vif

    Sudo sed -i.bak '/argparse/d' /usr/lib/python3/dist-packages/stevedore-1.3.0.Egg-info/requires.txt
    
  • Rusé

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

Pour Bionic (18.04), ce qui précède fonctionne, mais tenez compte du fait que la version de manutentionnaire est supérieure. Il peut être vérifié avec:

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

puis recherchez le dossier stevedore- *. Dans mon cas:

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

3
A.B.

Faites simplement:

pip3 install --user subliminal stevedore==1.19.1 

après l’installation de subliminal via apt, afin de corriger la version stevedore. Cela remplacera la version du système.

0
memeplex