Googleの深い夢を実現しようとしています。なんか奇妙な理由で
ImportError:google.protobufという名前のモジュールはありません
protobufをインポートしようとした後。 Sudo install protobuf
を使用してprotobufをインストールしました。私はpython 2.7 OSX Yosemite 10.10.3を実行しています。
私はそれが展開場所の問題かもしれないと思うが、私はそれについてウェブ上で何も見つけることができない。現在、/ usr/local/lib/python2.7/site-packagesにデプロイしています。
別の可能性があります。python 2.7.11または他の同様のバージョンを実行している場合、
Sudo pip install protobuf
大丈夫です。
ただし、anaconda環境にいる場合は、
conda install protobuf
site-packages
ディレクトリにgoogle
ディレクトリを配置し(もちろん適切な後者のディレクトリ用)、手動で(空の)__init__.py
を作成すると、この問題は解決しました。
(このディレクトリ内にはprotobuf
ディレクトリがありますが、Python 2.7のインストールでは新しいスタイルのパッケージが受け入れられなかったため、__init__.py
が必要でした。空、フォルダーをパッケージフォルダーとして識別するため)
...これが将来誰かに役立つ場合に。
私の場合、私は
ソースコードをダウンロードし、コンパイルしてインストールしました:
$ ./configure
$ make
$ make check
$ Sudo make install`
for pythonフォルダー(python)をソースコードの下に配置し、コマンドを実行しました。
$ python setup.py build
$ python setup.py install'
これがあなたを助けることができるかどうかわからない..
Tensor Flowを使用しようとしたときに、同じエラーメッセージが表示されました。解決策は、単にuninstallTensor Flowとprotobuf:
$ Sudo pip uninstall protobuf
$ Sudo pip uninstall tensorflow
そして、再インストールします: Tensorflowのpipインストール 。現在、これは次のとおりです。
# Ubuntu/Linux 64-bit, CPU only:
$ Sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl
# Ubuntu/Linux 64-bit, GPU enabled:
$ Sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl
# Mac OS X, CPU only:
$ Sudo easy_install --upgrade six
$ Sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0rc0-py2-none-any.whl
pip install protobufを実行すると、エラーが発生します。
「6」をアンインストールできません。これは、distutilsがインストールされたプロジェクトであるため、どのファイルがそれに属しているかを正確に判断できず、部分的なアンインストールのみにつながります。
私と同じ問題がある場合は、次のコマンドを実行する必要があります。
pip install --ignore-installed six Sudo pip install protobuf
あなたのコメントによると、pythonの複数のバージョンがあります。
pipは実際には、パッケージをダウンロードしてインストールするスクリプトへのリンクです。
2つの可能な解決策:
それがどのように機能したことを知っていますか?新しいpipが使用される場合、パッケージは正常にインストールされます。それ以外の場合、パッケージは既にインストールされています
私の場合、MacOSには許可制御があります。 Sudo -H pip3 install protobuf
プロジェクトファイルにgoogle.pyファイルがあったときに、この問題が発生しました。
非常に簡単に再現できます。
main.py:_import tensorflow as tf
_
google.py:print("Protobuf error due to google.py")
これがバグかどうか、どこに報告すればよいかわかりません。
このコマンドでprotobufをインストールしました:
conda install -c anaconda protobuf=2.6.1
(protobufのバージョンを確認する必要があります)