web-dev-qa-db-ja.com

「gi」モジュールがPythonから欠落する原因は何ですか?

UbuntuのデフォルトのPythonバージョンを2.7から3.2にそれほど巧妙に編集した後、システム全体を壊してしまいました。コンピューターが破裂し、すべてが機能しなくなった後、変更を元に戻そうとしました(/usr/bin/python2.7を/ usr/bin/pythonにリンクし、/ usr/share/python/debian_defaultsのデフォルトバージョンを2.7)しかし、いくつかのことはまだ壊れています。

たとえば、pythonインタープリターに「import gi」と入力すると、次のメッセージが表示されます。

>>> import gi
 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 ImportError: No module named gi
>>> 

一部のプログラムでも表示されるエラー(例:gnome Tweakツール)。ソフトウェアセンターとソースの両方からpythonを再インストールしようとしましたが、同じエラーが引き続き発生します。

Python-バージョンは以下を返します:

 Python 2.7.2

また、python 2.7に依存する一部のソフトウェアパッケージ(たとえば、ソフトウェアセンター)は現在動作していますが、まだ壊れているものがあります。 python 2.7をデフォルトバージョンとして完全に再インストールするためにできることはありますか?

19
Colin Dumitru

これを行うための3つの方法を見つけました。

  1. 簡単な方法:

    Sudo apt-get install python3-gi

    または

  2. Virtualenvユーザーの場合- vext way

    pip install vext

    pip install vext.gi

  3. 純粋なpython開発者の方法:

    たくさんの開発者のものをインストールします。

    Sudo apt-get install pkg-config libcairo2-dev gcc python3-dev libgirepository1.0-dev

    pythonパッケージをインストールします。

    pip install gobject PyGObject

18
Matthew

少しの回避策が見つかりました ここ それは私のために働いた:

Sudo nano /usr/bin/gnome-Tweak-tool

#!/usr/bin/env python#!/usr/bin/pythonに変更します

8

ターミナルで次のコマンドを実行します。

Sudo apt install python3-gi

または、代わりにPython2サポートが必要な場合:

Sudo apt install python-gi
6
Jeremy Bicha

私の場合:

>>> import gi
>>> gi.__file__
'/usr/lib/python2.7/dist-packages/gi/__init__.pyc'

そのファイルを使用できるかどうかを確認する必要があります。そうでない場合は、/usr/lib/python2.7/dist-packages/gi/__init__.pyポイント/usr/share/pyshared/gi/__init__.pyを確認します。 python-gobject 3.0.0-0ubuntu4があるので、そのファイルが必要です(はい、私はまったく同じバージョンを持っています)。

giパッケージがある場合は、sys.path出力を確認する必要があります。 /usr/lib/python2.7/dist-packagesが含まれていない場合は、追加してから再試行してください。

インポートが機能したら、PYTHONPATHを設定するか、パスが正しく設定されていない理由についてさらに調査することができます。

保留中の問題は、おそらく、何らかの理由でsite.pyファイルが有効でないか、おそらくsite.py/usr/lib/python2.7/の下にあるはずです)を取得していないことです。 。その場合、 here を見て、pythonがそのファイルを探し、環境が正しいことを確認するために使用するすべてのディレクトリを確認します。

2
jcollado

Anacondaをインストールし、それがデフォルトのpython環境になっている場合、giモジュールは次の方法でインストールできます。

conda install -c conda-forge pygobject 

参照: https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/161152

1
prusswan