1. 程式人生 > >呼叫tensorflow出錯 ImportError: No module named google.protobuf

呼叫tensorflow出錯 ImportError: No module named google.protobuf

在import tensorflow的時候,出現

ImportError: No module named google.protobuf

嘗試解決的歷程(勿直接模仿):

step1:從github上下載,並用C++ 方法sudo make安裝了protobuf,error變為找不到descriptor_pb2.py

step2:之前安裝過tensorflow,並且能正常執行。推測可能是此後的一些操作導致tensorflow和protobuf的版本不合。

            首先解除安裝protobuf(按照剛剛安裝的命令反過來)

sudo make uninstall protobuf

          再重新安裝tensorflow。我不敢亂解除安裝,所以打算安裝和之前相同版本的tensorflow。

pip install tensorflow-gpu==1.2.0

          終端顯示已經下載了該版本的tensorflow,就繼續下載其他缺少的包,其中就包含protobuf。最後安裝完成,再次import tensorflow成功。


Requirement already satisfied: tensorflow-gpu==1.2.0 in /usr/local/lib/python2.7/dist-packages
Collecting werkzeug>=0.11.10 (from tensorflow-gpu==1.2.0)
  Downloading https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)
    100% |████████████████████████████████| 327kB 4.9MB/s
Collecting html5lib==0.9999999 (from tensorflow-gpu==1.2.0)
  Downloading https://files.pythonhosted.org/packages/ae/ae/bcb60402c60932b32dfaf19bb53870b29eda2cd17551ba5639219fb5ebf9/html5lib-0.9999999.tar.gz (889kB)
    100% |████████████████████████████████| 890kB 310kB/s
Requirement already satisfied: backports.weakref==1.0rc1 in /usr/local/lib/python2.7/dist-packages (from tensorflow-gpu==1.2.0)
Collecting protobuf>=3.2.0 (from tensorflow-gpu==1.2.0)
  Downloading https://files.pythonhosted.org/packages/27/e7/bf96130ebe633b08a3913da4bb25e50dac5779f1f68e51c99485423f7443/protobuf-3.6.0-cp27-cp27mu-manylinux1_x86_64.whl (7.1MB)
    100% |████████████████████████████████| 7.1MB 87kB/s
Requirement already satisfied: six>=1.10.0 in ./.local/lib/python2.7/site-packages (from tensorflow-gpu==1.2.0)
Requirement already satisfied: wheel in /usr/lib/python2.7/dist-packages (from tensorflow-gpu==1.2.0)
Requirement already satisfied: mock>=2.0.0 in /usr/local/lib/python2.7/dist-packages (from tensorflow-gpu==1.2.0)
Requirement already satisfied: markdown==2.2.0 in /usr/local/lib/python2.7/dist-packages (from tensorflow-gpu==1.2.0)
Requirement already satisfied: numpy>=1.11.0 in ./.local/lib/python2.7/site-packages (from tensorflow-gpu==1.2.0)
Requirement already satisfied: bleach==1.5.0 in /usr/local/lib/python2.7/dist-packages (from tensorflow-gpu==1.2.0)
Requirement already satisfied: setuptools in /usr/lib/python2.7/dist-packages (from protobuf>=3.2.0->tensorflow-gpu==1.2.0)
Requirement already satisfied: pbr>=0.11 in /usr/local/lib/python2.7/dist-packages (from mock>=2.0.0->tensorflow-gpu==1.2.0)
Requirement already satisfied: funcsigs>=1; python_version < "3.3" in /usr/local/lib/python2.7/dist-packages (from mock>=2.0.0->tensorflow-gpu==1.2.0)
Building wheels for collected packages: html5lib
  Running setup.py bdist_wheel for html5lib ... done
  Stored in directory: /home/yyd/.cache/pip/wheels/50/ae/f9/d2b189788efcf61d1ee0e36045476735c838898eef1cad6e29
Successfully built html5lib
Installing collected packages: werkzeug, html5lib, protobuf
Successfully installed html5lib-0.9999999 protobuf-3.6.0 werkzeug-0.14.1