web-dev-qa-db-ja.com

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) ...

任意の助けをいただければ幸いです:(

クイック検索で、Python DBUSモジュールのDebianパッケージの名前がpython-dbus(またはpython3-dbus)と呼ばれていることがわかります。 software-centerパッケージの明示的な依存関係にもかかわらず、なぜそれが利用できないのかは私にはわかりません。 2つのパッケージが破損した場合は、それらを再インストールする必要があります。

Sudo apt-get install --reinstall software-center python-dbus
2
David Foerster

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
Yuq Wang

pipまたはdbus-pythonを使用してpip3パッケージをインストールする必要があります。

pip3 install dbus-python

または

pip install dbus-python

上記のコマンドの前にSudoする必要があるかもしれません。

0
Benyamin Jafari

エイドリアン・オニール・スティーブン:

私はSudo -h pip install dbusを実行しようとしましたが、返されました:要件dbusを満たすバージョンが見つかりませんでした(バージョンから:) dbusに一致するディストリビューションが見つかりませんでした。 :( –

しかし、あなたがしたことの詳細は参考になります。

Python3のアップグレードの問題を検討する

Python3にアップグレードすると、モジュールの名前が変更されたり、インポート手順が変更されたりすることがあります。古いpython環境を手動で削除したか、gitから何かをインストールしましたか?

試してください aptitude

Aptitudeをインストールし、依存関係を解決する方法を推奨します。ただし、何をしたいのか、この変更の影響を受ける可能性のある他の要素を常に確認し、あなたが何をして、aptitudeが何をするのかを書き留めてくださいだから、いつでも起こりうるミスステップを取り消すことができます

システムを再インストールします

時々、すべてを破棄することが最善の方法です(複雑なOSエラーの問題では、すべてをバックアップした後、バックアップしたいアプリのエクスポート機能を使用します。できれば、それが物事を簡単にします)。

0
hirsch