2015-07-09 2 views
9

Я пытаюсь запустить глубокий сон Google. По какой-то нечетной причине я продолжаю получатьНет модуля с именем google.protobuf

ImportError: No module named google.protobuf

после попытки импорта protobuf. Я установил protobuf, используя sudo install protobuf. Я запускаю python 2.7 OSX Yosemite 10.10.3.

Я думаю, что это может быть проблема с местом размещения, но я не могу найти что-либо в Интернете об этом. В настоящее время развертывается в /usr/local/lib/python2.7/site-packages.

+1

Вы пытались установить google.protobuf? –

+0

Я сделал «pip install protobuf», но я все равно получаю ImportError: нет модуля с именем google.protobuf после использования «from google.protobuf import text_format» в python 2.7.6 – lecorbu

+0

Есть ли вероятность, что у вас есть два питона на вашем компьютере? Если вы используете pip непосредственно из папки сценариев –

ответ

1

В соответствии с вашими комментариями, у вас есть умножьте версии питона что может случилось, что вы установите пакет с пипса Anthor питона

пип на самом деле ссылаются на скрипт, который DONWLOAD и установить пакет.

два возможных решения:

  1. перейти к $ (PYTHONPATH)/Scripts и запустить пип из этой папки таким образом вы страховать вы используете правильный ГПГ
  2. создать псевдоним для пип, который указывает на $ (PYTHONPATH)/Scripts/pip, а затем запустить pip install

как вы узнаете, что это сработало? Простой если новый пип используется пакет будет успешной установки, в противном случае пакет уже установлен

6

В моем случае я

  1. скачал исходный код, скомпилировать и установить:

    $ ./configure 
    $ make 
    $ make check 
    $ sudo make install` 
    
  2. для питона Я нашел свою папку (питон) под исходным кодом, и побежал команды:

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

Не уверен, если это может помочь вам ..

+0

Полезно спасибо :) – Siddhartha

+0

Я хотел бы добавить, что для некоторых систем шаг 1, вероятно, уже сделан для вас. Вам просто нужно сделать шаг 2. В моем случае я должен был загрузить весь файл protobuf zip и искать подпапку python. –

6

я получил такое же сообщение об ошибке, когда я попытался использовать Tensor Flow. Решение было просто деинсталлировать Тензор Flow и Protobuf:

$ sudo pip uninstall protobuf 
$ sudo pip uninstall tensorflow 

И установите его снова: pip installation of Tensorflow. В настоящее время это:

# 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 
12

Существует еще одна возможность, если вы работаете питона 2.7.11 или другие подобные версии,

sudo pip install protobuf 

это нормально.

Но если вы находитесь в среде анаконды, вы должны использовать

conda install protobuf 
0

Я установил Protobuf с этой командой:

conda install -c anaconda protobuf=2.6.1 

(вы должны проверить версию Protobuf)

3

Поиск каталога google в каталоге site-packages (для надлежащего последнего каталога, конечно) и вручную создание (пусто) __init__.py разрешил эту проблему для меня.

(Обратите внимание, что в этой директории каталог protobuf но моя установка Python 2.7 не принимают пакеты нового стиля так __init__.py требуется, даже если он пуст, чтобы определить папку в папке пакета.)

... В случае, если это поможет любому в будущем.

0

В моем случае у MacOS есть контроль разрешений. sudo -H pip3 install protobuf

0

У меня была эта проблема, когда у меня был файл google.py в файлах проекта.
Это довольно легко воспроизвести.
main.py: import tensorflow as tf
google.py: print("Protobuf error due to google.py")

Не уверен, если это ошибка, и где сообщить об этом.

Смежные вопросы