【问题标题】:Tensorflow on miniconda with python 3.8. msvcp140_1.dll missing使用 python 3.8 在 anaconda 中的 Tensorflow。 msvcp140_1.dll 丢失
【发布时间】:2021-06-29 14:27:26
【问题描述】:

编辑: 我在这个线程和 Eryk Sun 的评论的帮助下解决了这个问题。我在 self_check.py 中添加了 winmode=0。不知道这是否是最好的解决方案,但它有效:) Tensorflow cannot find DLL, but DLL directory is in PATH

对于 Python 3.8+,使用 PATH 的建议已经过时。 ctypes.WinDLL(dll_name) 不再使用 PATH。相反,DLL 所在的目录必须位于应用程序目录(例如 sys.prefix)、“Sytem32”目录中,或者通过 os.add_dll_directory 专门添加到当前进程 DLL 搜索路径中。如果 tensorflow 项目想要继续使用使用 PATH 的遗留搜索,他们需要在 3.8+ 中将调用覆盖为 ctypes.WinDLL(dll_name, winmode=0)。 – Eryk Sun 20 年 7 月 18 日 18:19

我正在使用 Miniconda 并按照说明安装 tensorflow conda create -n tf tensorflow

然后我在 VS Code 中使用 tf 解释器。

但我仍然收到以下错误。

找不到 DLL“msvcp140_1.dll”。 TensorFlow 要求将这些 DLL 安装在以 %PATH% 环境变量命名的目录中。你可以安装这些 从以下 URL 下载适用于您平台的“Microsoft C++ Redistributable for Visual Studio 2015、2017 和 2019”的 DLL:https://support.microsoft.com/help/2977003/the-latest-supported-visual-c-downloads

我已经重新安装了 3 次 x64 可再发行组件,但错误仍未解决。

文件存在于以下路径中 C:\Users\myusername\miniconda3\envs\tf\msvcp140_1.dll C:\Users\myusername\miniconda3\envs\tf\Library\bin\msvcp140_1.dll C:\Windows\System32\msvcp140_1.dll C:\Users\myusername\miniconda3\Library\bin\msvcp140_1.dll C:\Users\myusername\miniconda3\msvcp140_1.dll

我已经阅读了我能找到的关于这个问题的所有线程和页面,但大多数情况下在安装可再发行组件时解决了,但这对我不起作用。

我不知道如何解决这个问题。

【问题讨论】:

    标签: python windows tensorflow miniconda


    【解决方案1】:

    对我有用的是按照您列出的说明进行操作,即在位于您的环境下的目录 site-packages 中的 tensorflow 库下,您会注意到一个名为 self_check.py 的文件修改此模块中下面显示的行以包含 @ 987654323@

    
      for dll_name in build_info.build_info[MSVCP_DLL_NAMES].split(","):
        try:
          ctypes.WinDLL(dll_name,winmode=0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-26
      • 2022-08-19
      • 1970-01-01
      相关资源
      最近更新 更多