web-dev-qa-db-ja.com

google.protobufという名前のモジュールはありません

Googleの深い夢を実現しようとしています。なんか奇妙な理由で

ImportError:google.protobufという名前のモジュールはありません

protobufをインポートしようとした後。 Sudo install protobufを使用してprotobufをインストールしました。私はpython 2.7 OSX Yosemite 10.10.3を実行しています。

私はそれが展開場所の問題かもしれないと思うが、私はそれについてウェブ上で何も見つけることができない。現在、/ usr/local/lib/python2.7/site-packagesにデプロイしています。

21
lecorbu

別の可能性があります。python 2.7.11または他の同様のバージョンを実行している場合、

Sudo pip install protobuf

大丈夫です。

ただし、anaconda環境にいる場合は、

conda install protobuf
24
Panfeng Li

site-packagesディレクトリにgoogleディレクトリを配置し(もちろん適切な後者のディレクトリ用)、手動で(空の)__init__.pyを作成すると、この問題は解決しました。

(このディレクトリ内にはprotobufディレクトリがありますが、Python 2.7のインストールでは新しいスタイルのパッケージが受け入れられなかったため、__init__.pyが必要でした。空、フォルダーをパッケージフォルダーとして識別するため)

...これが将来誰かに役立つ場合に。

17
Dan Nissenbaum

私の場合、私は

  1. ソースコードをダウンロードし、コンパイルしてインストールしました:

    $ ./configure
    $ make
    $ make check
    $ Sudo make install`
    
  2. for pythonフォルダー(python)をソースコードの下に配置し、コマンドを実行しました。

    $ python setup.py build
    $ python setup.py install'
    

これがあなたを助けることができるかどうかわからない..

9
iSean

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
7
Martin Thoma

pip install protobufを実行すると、エラーが発生します。

「6」をアンインストールできません。これは、distutilsがインストールされたプロジェクトであるため、どのファイルがそれに属しているかを正確に判断できず、部分的なアンインストールのみにつながります。

私と同じ問題がある場合は、次のコマンドを実行する必要があります。

pip install --ignore-installed six Sudo pip install protobuf

2
leon wu

あなたのコメントによると、pythonの複数のバージョンがあります。

pipは実際には、パッケージをダウンロードしてインストールするスクリプトへのリンクです。

2つの可能な解決策:

  1. $(PYTHONPATH)/ Scriptsに移動し、そのフォルダーからpipを実行して、正しいpipを使用するようにします。
  2. $(PYTHONPATH)/ Scripts/pipを指すpipのエイリアスを作成し、pip installを実行します

それがどのように機能したことを知っていますか?新しいpipが使用される場合、パッケージは正常にインストールされます。それ以外の場合、パッケージは既にインストールされています

1
Oren Haliva

私の場合、MacOSには許可制御があります。 Sudo -H pip3 install protobuf

0
YellowStar5

プロジェクトファイルにgoogle.pyファイルがあったときに、この問題が発生しました。
非常に簡単に再現できます。
main.py:_import tensorflow as tf_
google.py:print("Protobuf error due to google.py")

これがバグかどうか、どこに報告すればよいかわかりません。

0
blpasd

このコマンドでprotobufをインストールしました:

conda install -c anaconda protobuf=2.6.1

(protobufのバージョンを確認する必要があります)

0
neouyghur