【问题标题】:Tensorflow : ImportError: DLL load failedTensorflow:ImportError:DLL加载失败
【发布时间】:2020-10-26 17:35:17
【问题描述】:

我使用的是 Windows 10、Python 3.7.8 和 PyCharm。

首先,我安装了 Python 3.7.8。然后我安装了 PyCharm。

我正在尝试运行 Python 代码,特别是 Tensorflow 代码。我在这里按照以下说明进行操作: https://www.tensorflow.org/site-assets/downloads/marketing/cert/Setting_Up_TF_Developer_Certificate_Exam.pdf 第 4-8 页。

按照说明创建一个新的 PyCharm 项目:

然后在此项目的首选项中,选择 Python Interpreter 我安装以下包:

  • 张量流
  • 张量流数据集
  • numpy
  • 枕头
  • urllib3

全部安装成功:

然后我创建一个新的 Python 文件:

我运行以下代码:

import tensorflow as tf
print(tf.version)

但是,我收到错误:“ImportError: DLL load failed: The specified module could not be found”

我该如何解决这个问题?

【问题讨论】:

  • 根据这个帖子:github.com/tensorflow/tensorflow/issues/35749 你可以尝试降级到 tensorflow 2.0 吗?这个线程也是:github.com/tensorflow/tensorflow/issues/35618,有些人似乎遇到了同样的问题,你可能是其中之一
  • @yAzou 不,因为我需要/想要 TF 2.2.0。
  • @yAzou 好吧,但是当我降级时,我只有 2.0.0?所以这不是一个好的解决方案,因为我真的需要/想要最新版本的 TF。
  • 好的,从那些线程 (github.com/tensorflow/tensorflow/issues/…),看来你需要从这里下载最新的 microsoft redistributable C++,你可以试试吗? :support.microsoft.com/en-us/help/2977003/…
  • 如果它解决了问题,请告诉我。另外我可以建议你另一种方式(我个人一直使用这些类型的包):你可以使用 dockerized 解释器。您可以获得最新版本的 tensorflow 图像(从集线器)并将其作为解释器运行(这可以避免所有 DLL 丢失问题)。如果你想让我也用这些东西发布答案,请告诉我(当然这意味着要先安装 Docker)

标签: python tensorflow pycharm


【解决方案1】:

简短回答

根据这个线程: https://github.com/tensorflow/tensorflow/issues/35618#issuecomment-596631286

从这里下载最新的微软可再发行 C++:

https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

会解决你的问题

额外一:在 Pycharm 中使用 Docker 作为 Python 解释器

Pycharm 有一个我个人一直在使用的有用工具: Docker 作为解释器。

这意味着要安装 Docker,但是一旦你得到它,你就可以下载几乎所有预先安装了依赖项并准备好工作的镜像!

在你的情况下:

  1. 如果没有,请下载 Docker for windows (https://hub.docker.com/editions/community/docker-ce-desktop-windows/)

  2. 从你的 cmd 运行这个命令:docker pull tensorflow/tensorflow

  3. 通过运行docker images 命令检查您是否拥有张量流图像。你应该得到这个输出:

  1. 在pycharm中打开新项目

  2. 转到Setting | Project | Project interpreter

  3. 点击三个垂直点Add一个新的解释器

  4. 您应该会进入这个窗口(在左侧单击“Docker”):

  5. 点击“确定”

让我们编码吧!

现在,如果您需要像这样的另一个大依赖项,您始终可以使用来自 docker hub 的特定依赖项映像重现这些步骤

更多细节,这里是 JetBrains 的官方教程: How to make Docker container as an interpreter in PyCharm

EXTRA 2:在 VSCode 中使用 Docker 作为 Python 解释器

对于一些在 VSCode 中使用 python(我个人没有)的用户,我发现这些步骤可以在 VSCode 中实现相同的配置(Docker 作为 python 解释器):

  1. 安装 Python 扩展

  2. 安装远程 - 容器扩展

  3. 打开命令面板并输入 Remote-Containers,然后 选择 Attach to Running Container... 并选择 running 码头集装箱

  4. VS Code 将重新启动并重新加载

  5. 在资源管理器侧边栏,单击打开文件夹按钮,然后输入 /code(这将从远程容器加载)

  6. 在扩展侧边栏上,选择 Python 扩展并将其安装到容器上

  7. 当提示使用哪个解释器时,选择 /usr/local/bin/python

  8. 打开命令面板并输入 Python: Configure Tests,然后 选择单元测试框架

    此部分来源:Setting Up a Python Remote Interpreter Using Docker

【讨论】:

    猜你喜欢
    • 2021-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 2019-07-03
    • 2013-02-08
    • 2014-01-31
    • 2020-03-18
    相关资源
    最近更新 更多