2017-08-14 25 views
1

私は次のプログラムを実行しようとしています:ModuleNotFoundError: 'GI' という名前のないモジュール - Pythonの - OSX

import gi 
gi.require_version('Gst', '1.0') 
from gi.repository import GObject, Gst 

富栄を私が取得しています:

Traceback (most recent call last): 
File "application.py", line 2, in <module> 
import gi 
ModuleNotFoundError: No module named 'gi' 

私は、Macシエラにしています( 10.12.1(16B2555))を使用しています。

私は(ここで見られるように)pygojectとGTK + 3をインストールしている:

(cv) ✔ ~/Documents/test 
00:53 $ brew install pygobject3 --with-python3 gtk+3 
Warning: pygobject3 3.24.1_1 is already installed 
Warning: gtk+3 3.22.18 is already installed 

私のpythonは私のvirtualenvの引用元:

(cv) ✘-1 ~/Documents/test 
00:53 $ which python 
/Users/myuser/.virtualenvs/cv/bin/python 


(cv) ✔ ~/Documents/test 
00:54 $ python --version 
Python 3.6.1 

私は再インストールするGIをアンインストールしようとした場合Stackからの以前の回答で見たように、私は次のようになりました。

何が私の問題を解決できるか考えてみてください。事前

+1

私の最初の推測では、あなたのvirtualenvのパイソンを使用しているが、GIがシステムディレクトリにインストールされていることです。 virtualenvを無効にして、Pythonを起動してgiをインポートできますか?それがうまくいくなら、何かを理解することができます。 –

+0

環境を再作成してみてください。バインディングはシステムPythonに対してインストールされているため、(古い)環境に反映されない可能性があります。 'pip freeze> requirements.txt'を実行して、すでにインストールしたものを取得し、再度環境を作り直してみてください。 –

+0

@NoufalIbrahim明らかにこれが当てはまります:10:18 $ python Python 2.7.10(デフォルト、Jul 30 2016、18:31:42) [GCC 4.2.1互換Apple LLVM 8.0.0(clang-800.0。 34)]ダーウィン 詳細については、 "help"、 "copyright"、 "credits"または "license"と入力してください。 >>> import gi >>> gi.require_version( 'Gst'、 '1.0') – Gabrielle

答えて

-1

おかげで、このコマンドを実行してみてください:私の場合は

sudo apt install python3-gi 
+0

私はMac上で、同等のコマンド(brew install python3-gi)が動作しません... – Gabrielle

0

を@NoufalIbrahimが指し示すように、パッケージは、システムディレクトリにではなく、virtualenvの中に設置されました。

は、私が実行することで問題を解決した:

export PYTHONPATH=/usr/local/lib/python3.6/site-packages 
+0

私の謝罪。私は元のコメントの後にフォローアップできませんでした。これが本当に問題であれば、あなたのvirtualenv pythonの中に 'pip install gi'を実行できるはずです。それはそれを持ってくるはずです。もう一つは、' --system-site-あなたが指定したパスのパッケージをピックアップするように 'packages'オプションを指定します。 pythonpathを手動で修正する必要はありません。 –

関連する問題