【问题标题】:Why VC++ is required for tensorflow while not for numpy?为什么 tensorflow 需要 VC++ 而 numpy 不需要?
【发布时间】:2021-06-09 17:34:17
【问题描述】:

这听起来可能很愚蠢,但是在 python 中工作了这么多年之后,我想了解为什么要安装 numpy 而 tensorflow 要求在 Windows 中安装 Microsoft VC++。众所周知,两者都是用 C++ 编写的。那为什么前一个包安装没有问题,而后一个包需要VC++?

【问题讨论】:

  • 我们大多数人不会从源代码构建numpy;我们安装带有预编译二进制文件的版本(通过 `ancadonda、pip 等)。相应的安装文档应说明要求。

标签: numpy tensorflow visual-c++


【解决方案1】:

VC++ 要求从 2.1 版开始存在。 release notes of the version 2.1 声明:

Windows 用户: 正式发布的 tensorflow Pip 包现已发布 使用 Visual Studio 2019 版本 16.4 构建,以便利用 新的 /d2ReducedOptimizeHugeFunctions 编译器标志。要使用这些 新软件包,您必须安装“Microsoft Visual C++ Redistributable 适用于 Visual Studio 2015、2017 和 2019”,可从 Microsoft 的 网站在这里。

  • 这不会更改在 Windows 上从源代码构建 TensorFlow 所需的最低版本,但构建启用 如果没有这个,EIGEN_STRONG_INLINE 可能需要超过 48 小时才能编译 旗帜。有关更多信息,请参阅 configure.py EIGEN_STRONG_INLINE 和 /d2ReducedOptimizeHugeFunctions。
  • 如果您的计算机上缺少所需的 DLL,msvcp140.dll(旧)或 msvcp140_1.dll(新),请导入 tensorflow 将打印一条警告消息。

此更改使 Windows tensorflow 包依赖于某些 C++ API,这些 API 在 Windows 机器上默认不可用。您可以阅读有关该问题的更多信息:Why does my application require Visual C++ Redistributable package

【讨论】:

    猜你喜欢
    • 2018-03-18
    • 2018-07-30
    • 2011-06-18
    • 2021-04-13
    • 2016-01-10
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    相关资源
    最近更新 更多