【问题标题】:No module named 'absl' error when I import tensorflow导入 tensorflow 时没有名为“absl”的模块错误
【发布时间】:2018-07-07 11:58:54
【问题描述】:

我在装有 GTX1070 的 Win 7 机器上安装了 anaconda。

过去一小时我一直在尝试安装 tensorflow gpu 版本,但没有成功。我按照 tensorflow website 上的教程没有成功。他们要求你安装我做的 CUDA 8.0 和 Cudll 6.0。然后我将 cudnn64_6.dll、cudart64_80.dll 和 libnvvp 文件夹的位置添加到我的路径变量中。然后我在 conda 中设置了一个虚拟环境并运行以下命令:

(tensorflow)C:> pip install --ignore-installed --upgrade tensorflow-gpu 

我相信当我这样做时,它会安装似乎需要 CUDA 工具 9.0 的 tensorflow 1.5,因为我收到一条错误消息,提示找不到 cudart64_80.dll。所以我将我的 CUDA 工具更新到 9.0 并下载相应的 Cuda 库。然后我改变我的路径变量。现在我没有收到任何丢失的 dll 错误,但是我现在面临以下错误

ModuleNotFoundError: No module named 'absl'

有人对我以后可以做什么有任何建议吗?

【问题讨论】:

  • 事实上,tensorflow的pip包描述符明确需要absl-py >= 0.1.6(至少在当前master上见this link。你能启动一个交互式python会话并尝试import absl吗?如果是这样不行,能不能像安装tensorflow一样用pip手动安装py-absl
  • pip install absl-py 为我工作
  • 你找到解决办法了吗?
  • @CharlieParker 将以下路径添加到您的环境变量中; c:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\CUPTI\libx64
  • pip install absl-py 也为我工作。

标签: python tensorflow anaconda python-import absl-py


【解决方案1】:

这已经很晚了,但仍然值得发布。他们在 NVidia 网站上没有告诉您的是,您还需要向环境变量添加一条路径。路径是;

c:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\CUPTI\libx64

它可能与您的安装不完全相同,因为它取决于您安装 CUDA 工具的位置。

您也可以只使用 pip 安装 TF GPU 版本,但 pip 安装的是相当旧的 TF 1.1。

【讨论】:

    【解决方案2】:

    可以使用Anaconda GUI安装absl-py包解决问题:

    选择uninstall 列并搜索absl-py 以应用它。

    【讨论】:

      【解决方案3】:

      对我来说,“pip3 install absl-py”不起作用:

      我在尝试导入 tensorflow 时收到:“ModuleNotFoundError: No module named 'absl'”:

      导入张量流 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“/opt/anaconda3/lib/python3.6/site-packages/tensorflow/init.py”,第 22 行,在 from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import 文件“/opt/anaconda3/lib/python3.6/site-packages/tensorflow/python/init.py”,第 63 行,在 from tensorflow.python.framework.framework_lib import * # pylint: disable=redefined-builtin 文件“/opt/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/framework_lib.py”,第 25 行,在 从 tensorflow.python.framework.ops 导入图 文件“/opt/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py”,第 55 行,在 从 tensorflow.python.platform 导入应用程序 文件“/opt/anaconda3/lib/python3.6/site-packages/tensorflow/python/platform/app.py”,第 24 行,在 从 tensorflow.python.platform 导入标志 文件“/opt/anaconda3/lib/python3.6/site-packages/tensorflow/python/platform/flags.py”,第 25 行,在 from absl.flags import * # pylint: disable=wildcard-import ModuleNotFoundError: 没有名为“absl”的模块

      但如果我从头开始编译 absl-py,一切都会顺利:

      jk@D17:~/py/004/abseil-py-master$ python setup.py install

      运行安装

      运行 bdist_egg 运行 egg_info

      .......

      使用 /opt/anaconda3/lib/python3.6/site-packages

      完成处理absl-py==0.4.0的依赖

      然后:

      导入张量流

      没问题

      【讨论】:

        【解决方案4】:

        这对我来说是由 Python 版本问题引起的。我的 Python 2.x 上安装了 absl 包,但我的 Python 3.x 没有。所以我只是确保我机器上的两个 Python 都安装了包:

        pip install absl-py
        pip3 install absl-py

        【讨论】:

        • 不要使用sudo pip install
        【解决方案5】:

        我遇到了同样的问题,并且 pip(或 pip3)安装 absl-py 无法正常工作。

        python --version 显示我使用了错误的 python 版本 (2.7)。于是我把python版本改成了3.5(https://askubuntu.com/questions/320996/how-to-make-python-program-command-execute-python-3

        这对我有用。

        【讨论】:

          【解决方案6】:

          在你的 site-packages 文件夹中找到 absl-py 相关文件夹并将其删除。尝试重新安装 pip3 install absl-py。我是这样解决的,希望对你有用。

          【讨论】:

            【解决方案7】:

            尝试另一个版本的absl-py。我的默认 absl 版本是 0.8.1,python 是 3.6:

            $pip install absl-py==0.8.0
            

            为我工作。

            或者将我的环境python版本改为3.7也可以。

            【讨论】:

              【解决方案8】:

              试试:

              conda install tensorflow
              conda install -c anaconda absl-py
              

              这对我有用。

              欲了解更多信息,请参阅:https://anaconda.org/anaconda/absl-py

              【讨论】:

                【解决方案9】:

                这就是我最终解决它的方法。

                即使 absl-py 已经安装,我仍然收到错误消息。

                当我使用pip install absl-py 时出现以下错误:

                Requirement already satisfied: absl-py in c:\users\stack\appdata\local\programs\python\python38\lib\site-packages (0.9.0)
                Requirement already satisfied: six in c:\users\stack\appdata\local\programs\python\python38\lib\site-packages (from absl-py) (1.15.0)
                

                我通过重新安装修复它,即使用:

                pip uninstall absl-py
                pip install absl-py
                

                然后我在使用 wrapt 时遇到了类似的错误: ModuleNotFoundError: No module named 'wrapt'

                通过卸载然后重新安装修复了wrapt

                pip uninstall wrapt
                pip install wrapt
                

                【讨论】:

                • 我遇到了这个问题。卸载和重新安装没有帮助。最终我注意到我的 $PATH 指向了 2 个不同版本的 python。我猜这导致即使安装了模块也找不到模块。我卸载了一个版本并将其从我的 PATH 中删除,之后一切正常。希望这对某人有帮助!
                【解决方案10】:

                如果您使用 Anaconda,请确保从 Home 安装 jupyter notebook。如果不是,您可以从 python CLI 导入它,但它会在导入 TensorFlow 时给出“No module named 'absl' error”

                【讨论】:

                  【解决方案11】:

                  希望这可能对将来的某人有所帮助。我在安装/使用 tensorflow 以及扩展 absl python 包时遇到了类似的问题。有一些与纯 pip 安装有关的问题,所以我必须找到替代路线。

                  这是我遵循的过程。

                  下载并安装 miniconda:

                  wget https://repo.continuum.io/miniconda/Miniconda3-3.7.0-Linux-x86_64.sh -O ~/miniconda.sh
                  bash ~/miniconda.sh -b -p $HOME/miniconda
                  

                  将 conda 添加到 PATH(可选):

                  export PATH="$HOME/miniconda/bin:$PATH"
                  

                  激活 conda 环境:

                  source $HOME/miniconda/bin/activate
                  

                  此时,您应该将 (base) 作为您的采购公寓环境。在此环境中执行以下操作:

                  conda create -n tensorflow python=3.7
                  activate tensorflow
                  

                  请注意,此时您应该在 (tensorflow) 环境中工作。它将取代基础环境。它也是您运行 tensorflow 相关工作的环境(失败并将您带到这里)。

                  
                  pip install --ignore-installed --upgrade tensorflow
                  pip install absl-py
                  

                  此时您可能需要安装额外的依赖项,例如 numpy。

                  我的目标是能够运行 tensorflow 工具,这对我来说很有效。希望以后对其他人有用。

                  【讨论】:

                    猜你喜欢
                    • 2018-03-16
                    • 1970-01-01
                    • 1970-01-01
                    • 2020-08-04
                    • 1970-01-01
                    • 2021-10-18
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多