ImportError: Nenhum módulo chamado dbus

1

Preciso de ajuda urgentemente: (

Eu estava tentando atualizar meu Python e baguncei todo o meu sistema.

Atualmente, atualmente posso iniciar meu centro de software. Eu tentei pesquisar no Google várias correções, mas nada ajudou. Minha Central de Software não pode ser iniciada.

Quando eu tento inicializá-lo, este erro mostra:

astephen@localhost:/usr/bin$ ./software-centerGtk-Message: Failed to load module "gtk-vector-screenshot"
Traceback (most recent call last):
File "./software-center", line 36, in <module>
from softwarecenter.utils import (
File "/usr/share/software-center/softwarecenter/utils.py", line 19, in <module>
import dbus
ImportError: No module named dbus

Eu tentei reinstalar o dbus usando

 apt-get install --reinstall dbus 

mas isso não ajudou: (

astephen@localhost:/usr/bin$ sudo apt-get install --reinstall dbusReading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not      upgraded.
Need to get 0 B/231 kB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 676272 files and directories currently installed.)
Preparing to unpack .../dbus_1.6.18-0ubuntu4.3_amd64.deb ...
Unpacking dbus (1.6.18-0ubuntu4.3) over (1.6.18-0ubuntu4.3) ...
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up dbus (1.6.18-0ubuntu4.3) ...

Qualquer ajuda é apreciada: (

    
por Adrian O'neil Stephen 21.07.2016 / 09:51

3 respostas

1

Uma busca rápida revela que o nome do pacote Debian para o módulo DBUS do Python é chamado python-dbus (ou python3-dbus ). Por que não está disponível apesar de ser uma dependência explícita do pacote software-center está além de mim. Você deve reinstalar os dois pacotes caso eles estejam corrompidos:

sudo apt-get install --reinstall software-center python-dbus
    
por David Foerster 13.09.2016 / 23:34
0
% bl0ck_qu0te%

Mais informações sobre o que você fez seriam úteis, no entanto, meus palpites:

Considere um problema de atualização do python3

Ao atualizar para o python3, os módulos às vezes alteram os nomes / as mudanças no procedimento de importação; você removeu seu antigo ambiente python manualmente ou instalou algo do git?

Tente aptitude

Instale o aptitude, ele recomenda maneiras de resolver dependências. Tenha cuidado, no entanto, sempre verifique o que ele quer fazer, quais outras coisas podem ser afetadas por essa mudança, e anote o que você faz, e o que o aptitude faz para que você sempre possa desfazer possíveis passos em falso .

Reinstale seu sistema

Às vezes, é melhor soltar tudo (em um problema complicado de erro do sistema operacional, depois de fazer backup de tudo, usando a função de exportação dos aplicativos dos quais você deseja fazer backup, de preferência. Isso facilita as coisas).

    
por hirsch 13.09.2016 / 23:08
0

Se o seu módulo python3 não puder encontrar a versão correta dos pacotes, um possível hack é criar links simbólicos para versões antigas. No caso do dbus, você pode fazer o seguinte. (Digamos que você acabou de atualizar python3.5 para python3.6) $ cd /usr/lib/python3/dist-packages/ $ ln -s _dbus_glib_bindings.cpython-{35m,36m}-x86_64-linux-gnu.so

Se você receber mais erros, tente vincular todos os pacotes.

a=$(find /usr/lib/python3/dist-packages -name '*35m*so')
b=$(echo $a | tr 35m 36m)
IFS=' ' read -r -a a <<< $a
IFS=' ' read -r -a b <<< $b

for ((i=0;i<${#a[@]};++i)); do
    ln -s "${a[i]}" "${b[i]}"
done
    
por Yuq Wang 24.05.2018 / 05:38