簡體   English   中英

我已經安裝了 Tensorflow 但我無法在 Python 中導入它:ImportError: cannot import name 'descriptor' from 'google.protobuf'(未知位置)

[英]I have installed Tensorflow but I can not import it in Python: ImportError: cannot import name 'descriptor' from 'google.protobuf' (unknown location)

我已經在我的 Windows 10 筆記本中成功安裝了 Tensorflow:

(base) C:\WINDOWS\system32>pip install tensorflow-gpu
Requirement already satisfied: tensorflow-gpu in c:\users\alienware\anaconda3\lib\site-packages (2.0.0)
Requirement already satisfied: gast==0.2.2 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (0.2.2)
Requirement already satisfied: opt-einsum>=2.3.2 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (3.1.0)
Requirement already satisfied: numpy<2.0,>=1.16.0 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (1.16.5)
Requirement already satisfied: keras-applications>=1.0.8 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (1.0.8)
Requirement already satisfied: keras-preprocessing>=1.0.5 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (1.1.0)
Requirement already satisfied: six>=1.10.0 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (1.12.0)
Requirement already satisfied: termcolor>=1.1.0 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (1.1.0)
Requirement already satisfied: tensorflow-estimator<2.1.0,>=2.0.0 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (2.0.0)
Requirement already satisfied: grpcio>=1.8.6 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (1.24.1)
Requirement already satisfied: google-pasta>=0.1.6 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (0.1.7)
Requirement already satisfied: wheel>=0.26 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (0.33.6)
Requirement already satisfied: protobuf>=3.6.1 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (3.10.0)
Requirement already satisfied: wrapt>=1.11.1 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (1.11.2)
Requirement already satisfied: tensorboard<2.1.0,>=2.0.0 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (2.0.0)
Requirement already satisfied: astor>=0.6.0 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (0.8.0)
Requirement already satisfied: absl-py>=0.7.0 in c:\users\alienware\anaconda3\lib\site-packages (from tensorflow-gpu) (0.8.1)
Requirement already satisfied: h5py in c:\users\alienware\anaconda3\lib\site-packages (from keras-applications>=1.0.8->tensorflow-gpu) (2.10.0)
Requirement already satisfied: setuptools in c:\users\alienware\anaconda3\lib\site-packages (from protobuf>=3.6.1->tensorflow-gpu) (41.4.0)
Requirement already satisfied: werkzeug>=0.11.15 in c:\users\alienware\anaconda3\lib\site-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow-gpu) (0.16.0)
Requirement already satisfied: markdown>=2.6.8 in c:\users\alienware\anaconda3\lib\site-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow-gpu) (3.1.1)

但是,當我嘗試在 Python 中導入它時,我收到一條錯誤消息:

C:\WINDOWS\system32>conda activate base

(base) C:\WINDOWS\system32>python
Python 3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'tensorflow'
>>>

當我運行conda list我得到:

在此處輸入圖像描述

更新

我遵循了 Rachayita 的建議,但我已經安裝了 Tensorflow 1.4,我想要 tensorflow-gpu 2.0

從我的基本 Anaconda 環境中,我卸載了已安裝的 tensorflow-gpu 2.0,然后按照官方 tensorflow 文檔使用 pip 重新安裝它。

當我嘗試在 python 中導入它時,我收到以下錯誤消息:

(base) C:\Users\Alienware>python
Python 3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
2019-10-22 23:35:53.390099: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_100.dll
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Alienware\Anaconda3\lib\site-packages\tensorflow\__init__.py", line 98, in <module>
    from tensorflow_core import *
  File "C:\Users\Alienware\Anaconda3\lib\site-packages\tensorflow_core\__init__.py", line 40, in <module>
    from tensorflow.python.tools import module_util as _module_util
  File "C:\Users\Alienware\Anaconda3\lib\site-packages\tensorflow\__init__.py", line 50, in __getattr__
    module = self._load()
  File "C:\Users\Alienware\Anaconda3\lib\site-packages\tensorflow\__init__.py", line 44, in _load
    module = _importlib.import_module(self.__name__)
  File "C:\Users\Alienware\Anaconda3\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:\Users\Alienware\Anaconda3\lib\site-packages\tensorflow_core\python\__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "C:\Users\Alienware\Anaconda3\lib\site-packages\tensorflow_core\core\framework\graph_pb2.py", line 7, in <module>
    from google.protobuf import descriptor as _descriptor
ImportError: cannot import name 'descriptor' from 'google.protobuf' (unknown location)

您應該通過在 Anaconda 提示符下運行以下命令,將其與 Anaconda 一起安裝:

> conda create -n tf-gpu tensorflow-gpu
> conda activate tf-gpu

這是完整的文檔 -https://docs.anaconda.com/anaconda/user-guide/tasks/tensorflow/

您必須使用 pip 安裝 tensorflow 安裝 tensorflow 而不是 tensorflow-gpu

您是否在“conda activate base”之后運行了“pip install tensorflow-gpu”?

如果不是,那么這就是您需要做的,因為 tensorflow 不會安裝在您的虛擬環境“基礎”中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM