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をデフォルトバージョンとして完全に再インストールするためにできることはありますか?
これを行うための3つの方法を見つけました。
簡単な方法:
Sudo apt-get install python3-gi
または
Virtualenvユーザーの場合- vext way
pip install vext
pip install vext.gi
純粋なpython開発者の方法:
たくさんの開発者のものをインストールします。
Sudo apt-get install pkg-config libcairo2-dev gcc python3-dev libgirepository1.0-dev
pythonパッケージをインストールします。
pip install gobject PyGObject
少しの回避策が見つかりました ここ それは私のために働いた:
Sudo nano /usr/bin/gnome-Tweak-tool
#!/usr/bin/env python
を#!/usr/bin/python
に変更します
ターミナルで次のコマンドを実行します。
Sudo apt install python3-gi
または、代わりにPython2サポートが必要な場合:
Sudo apt install python-gi
私の場合:
>>> 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がそのファイルを探し、環境が正しいことを確認するために使用するすべてのディレクトリを確認します。
Anacondaをインストールし、それがデフォルトのpython環境になっている場合、giモジュールは次の方法でインストールできます。
conda install -c conda-forge pygobject
参照: https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/161152