ImportError: Никакой модуль, названный dbus

Я пытался обновить свой Python и испортил свою целую систему.

Я в настоящее время теперь могу запустить свой Центр программного обеспечения. Я пытался гуглить несколько мер, но ничто не помогло. Мой Центр программного обеспечения не может запуститься.

Когда я пытаюсь запустить его, эта ошибка шоу:

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

Я пытался переустановить dbus использование:

apt-get install --reinstall dbus

Но это не помогло.

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) ...
3
задан 8 October 2019 в 17:20

5 ответов

Adrian O'neil Stephen:

я пытался выполнить sudo-h, зернышко устанавливают dbus однако, это возвратилось: не Мог найти версию, которая удовлетворяет требование dbus (от версий:) Никакое распределение соответствия не нашло для dbus идей? :( †“

Дополнительная информация о том, что Вы сделали, будет полезна, однако, мои догадки:

Рассматривают выпуск

обновления python3 При обновлении до python3, модули иногда меняют имена / изменения процедуры импорта; Вы удалили свою старую среду Python вручную или установили что-то от мерзавца?

Попытка способность

способность Установки, это рекомендует способам решить зависимости. Будьте осторожны, однако, всегда проверяйте то, что это хочет сделать, который другой материал может быть затронут этим изменением, и записывают то, что Вы делаете, и что способность делает , таким образом, всегда можно отменять возможные оплошности .

Переустанавливают Вашу Систему

Иногда, просто лучше уничтожить все (в замысловатой ошибочной проблеме ОС, после резервного копирования всего, с помощью функции экспорта приложений приложений, которые Вы хотите скопировать, предпочтительно. Это делает вещи путем легче).

0
ответ дан 1 December 2019 в 16:57

Быстрый поиск показывает, что название пакета Debian для модуля DBUS Python называют python-dbus (или python3-dbus). Почему это не доступно несмотря на то, чтобы быть явной зависимостью software-center, пакет вне меня. Необходимо переустановить два пакета в случае, если они были повреждены:

sudo apt-get install --reinstall software-center python-dbus
2
ответ дан 1 December 2019 в 16:57

Необходимо установить dbus-python пакет с помощью pip или pip3:

pip3 install dbus-python

или

pip install dbus-python

Могли бы быть Вы, нуждаются к sudo перед вышеупомянутыми командами.

0
ответ дан 1 December 2019 в 16:57

Если Ваш python3 модуль не может найти правильную версию пакетов, возможный взлом должен создать символьные ссылки на старые версии. В случае dbus можно сделать следующее. (Скажите, что Вы просто обновляете python3.5 до python3.6), $ cd /usr/lib/python3/dist-packages/ $ ln -s _dbus_glib_bindings.cpython-{35m,36m}-x86_64-linux-gnu.so

Если Вы получаете дальнейшие ошибки, попытайтесь связать все пакеты.

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
0
ответ дан 1 December 2019 в 16:57

Хорошо, это были два года, с тех пор как тот вопрос задали, но это не остановило меня для траты моего времени на ту же проблему.

pip3 install dbus-python

сделанный мной просто столкнуться с некоторыми проблемами как:

... 
checking python extra linking flags... -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
  checking consistency of all components of python development environment... no
  configure: error: in `/tmp/pip-build-407jqhld/dbus-python/build/temp.linux-x86_64-3.7':
  configure: error:
    Could not link test program to Python. Maybe the main Python library has been
    installed in some non-standard library path. If so, pass it to configure,
    via the LIBS environment variable.
    Example: ./configure LIBS="-L/usr/non-standard-path/python/lib"
    ============================================================================
     ERROR!
     You probably have to install the development version of the Python package
     for your distribution.  The exact name of this package varies among them.
    ============================================================================

  See `config.log' for more details
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-build-407jqhld/dbus-python/setup.py", line 111, in <module>
      tests_require=['tap.py'],
    File "/home/schwaigeradm/.local/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
      return distutils.core.setup(**attrs)
    File "/usr/lib/python3.7/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/lib/python3.7/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/home/schwaigeradm/.local/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 192, in run
      self.run_command('build')
    File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-407jqhld/dbus-python/setup.py", line 64, in run
      cwd=builddir)
    File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['/tmp/pip-build-407jqhld/dbus-python/configure', '--disable-maintainer-mode', 'PYTHON=/usr/bin/python3', '--prefix=/tmp/pip-build-407jqhld/dbus-python/build/temp.linux-x86_64-3.7/prefix']' returned non-zero exit status 1.

  ----------------------------------------
  Failed building wheel for dbus-python
  Running setup.py clean for dbus-python
Failed to build dbus-python

Установка или переустановка любого моего текущего программного обеспечения не помогли. Но я понял, что это - проблема python3.7:

Как в python2.7 было возможно добавить импорт dbus, но в pyhon3.7 это перестало работать с той же ошибкой:

Traceback (most recent call last):
    import dbus
  File "/usr/lib/python3/dist-packages/dbus/__init__.py", line 77, in <module>
    import dbus.types as types
  File "/usr/lib/python3/dist-packages/dbus/types.py", line 6, in <module>
    from _dbus_bindings import (
ModuleNotFoundError: No module named '_dbus_bindings'

Решение довольно легко:

sudo apt-get install python3.7-dev
pip3 install dbus-python
0
ответ дан 1 December 2019 в 16:57

Другие вопросы по тегам:

Похожие вопросы: