Subliminal não funciona no Ubuntu 18.04

4

Subliminal dá esse erro no 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

Saída da política do apt-cache subliminar

  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
    
por Lincity 16.11.2015 / 13:04

2 respostas

4

Responda que funciona não apenas para o Ubuntu 18.04, Bionic, mas também para qualquer release com pip installed

O problema parece ser uma incompatibilidade entre o pacote mais recente do python stevedore e guessit , conforme relatado no Registros de relatórios de erros do Debian

A solução seria instalar uma versão apropriada de stevedore do Repositório PyPi , para fazer isso

  • Desinstale os pacotes existentes que você obteve do apt usando sudo apt-get purge -y python3-stevedore
  • Instale a versão PyPi do subliminar com a versão apropriada do stiverore usando sudo pip3 install subliminal stevedore==1.19.1

Agora, executando subliminal do terminal, ele será executado normalmente:

    
por Amith KK 09.07.2018 / 11:47
3

argparse agora faz parte do Python2 e do Python3, mas subliminal depende do python3-stevedore e esse pacote contém a entrada argparse in requires.txt . Você pode verificar isso com:

  • Vívido

    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
    

A solução é um hack sujo, remova a linha:

  • Vívido

    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
    
por A.B. 16.11.2015 / 13:23