Python 3.x 安装Tensorflow 2时无法在pywrap_Tensorflow.py中加载dll

Python 3.x 安装Tensorflow 2时无法在pywrap_Tensorflow.py中加载dll,python-3.x,dll,installation,tensorflow2.0,miniconda,Python 3.x,Dll,Installation,Tensorflow2.0,Miniconda,在过去一年左右的时间里,我已经安装了TensorFlow 2。所以我想试试迷你康达 我有一台AMD Radeon hd 6670和一台AMD Radeon hd 6450 我刚刚下载了Miniconda,创建了一个环境,并在Windows 8.1上的Miniconda提示符下进行了pip安装——升级tensorflow,得到了tensorflow 2.2 当我尝试导入tensorflow时,我得到下面的堆栈跟踪 我确实下载了VisualStudio以获得最新的再版(我想) 这似乎发生在这一行附近

在过去一年左右的时间里,我已经安装了TensorFlow 2。所以我想试试迷你康达

我有一台AMD Radeon hd 6670和一台AMD Radeon hd 6450

我刚刚下载了Miniconda,创建了一个环境,并在Windows 8.1上的Miniconda提示符下进行了
pip安装——升级tensorflow
,得到了tensorflow 2.2

当我尝试导入tensorflow时,我得到下面的堆栈跟踪

我确实下载了VisualStudio以获得最新的再版(我想)

这似乎发生在这一行附近:
from tensorflow.python.pywrap\u tensorflow\u internal import*

编辑1:我将此文件用于Python3.6(另一个是3.7),但它产生了相同的错误

编辑2:我升级到Conda4.8.3和Python3.7(在yaml文件中),得到了相同的错误。这是pywrap internal中显示问题的行:

line 28: _pywrap_tensorflow_internal = swig_import_helper()
在swig帮助程序中:

fp, pathname, description = imp.find_module('_pywrap_tensorflow_internal', [dirname(__file__)])
看起来它在努力寻找自己? 有人有线索吗

编辑3:看起来是同一个问题,但已经过时了。似乎是使用2015 C++重新分配的固定问题。我确实安装了2015 x64和2015-2019 x86

编辑4:尝试3.5会出现子进程错误(请参见下文)

编辑5:尝试3.7时使用:
conda安装'tensorflow=*=mkl*'
(并且没有yaml文件)未起作用(3.6未起作用)。不幸的是,导入tf2仍然需要10秒

搜索:-gpu swig\u import\u helper“未能加载本机TensorFlow运行时”会导致约3.6k的命中率,因此这是一个持续存在的问题

编辑5:安装Keras时会出现错误。尝试修复时得到:
属性错误:模块“tensorflow”没有属性“compat”
。所以TensorFlow不再工作了

是否有人拥有稳定的可重复流程?我正在尝试使用来自的代码

编辑6:解开minconda大约需要一个小时。安装一条新的蟒蛇效果很好。使用他们的文件可以得到很好的安装。但是导入tensorflow会导致dll加载错误

编辑7:尝试Python3.8并使用虚拟环境要快得多。我可以安装TensorFlow。但使用它可以:

ImportError: Could not find the DLL(s) 'msvcp140_1.dll'. TensorFlow requires that these DLLs be installed in a directory that is named in your %PATH% environmen
t variable. 
我确实安装了可再发行文件,并且windows/system32位于以下路径:

(handson-ml2) d:\ray\dev\mlbooks\handson-ml2>echo %PATH%
d:\pyvenvs\handson-ml2\Scripts;C:\Program Files (x86)\Common Files\Oracle\Java\j
avapath;c:\Rtools\bin;c:\Rtools\mingw_32\bin;C:\ProgramData\Oracle\Java\javapath
;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x8
6;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\Wi
ndowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Stati
c;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;C:\Program Files (x86)\AM
D\ATI.ACE\Core-Static;C:\gnuplot\bin;C:\Program Files\Git\cmd;C:\Program Files\C
alibre2\;C:\Program Files\MiKTeX 2.9\miktex\bin\x64\;C:\Program Files\MySQL\MySQ
L Utilities 1.6\;C:\Program Files (x86)\Common Files\Acronis\VirtualFile\;C:\Pro
gram Files (x86)\Common Files\Acronis\VirtualFile64\;C:\Program Files (x86)\Comm
on Files\Acronis\FileProtector\;C:\Program Files (x86)\Common Files\Acronis\File
Protector64\;C:\Program Files\nodejs\;C:\Program Files (x86)\Brackets\command;C:
\Program Files\Microsoft VS Code\bin;C:\Users\ray\AppData\Local\Programs\Python\
Launcher\;d:\bin;C:\Users\ray\AppData\Roaming\npm;C:\Users\ray\AppData\Local\ato
m\bin;C:\Program Files (x86)\FAHClient;x:\Program Files\Docker Toolbox
还有类似的问题

建议将dll复制到python路径区域

似乎一夜之间就收到了警告。现在我得到:

(handson-ml2) d:\ray\dev\mlbooks\handson-ml2>py
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
2020-06-25 13:53:13.746994: W tensorflow/stream_executor/platform/default/dso_lo
ader.cc:55] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64
_101.dll not found
2020-06-25 13:53:13.776619: I tensorflow/stream_executor/cuda/cudart_stub.cc:29]
 Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Pip subprocess error:
ERROR: Could not find a version that satisfies the requirement bokeh>=2.0.0 (fro
m panel>=0.7.0->holoviews->-r D:\ray\dev\COVID-19\condaenv.tvdi0rp1.requirements
.txt (line 5)) (from versions: 0.2, 0.3, 0.4, 0.4.1, 0.4.4, 0.5.0, 0.5.1, 0.5.2,
 0.6.0, 0.6.1, 0.7.0, 0.7.1, 0.8.0, 0.8.1, 0.8.2, 0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.
10.0, 0.11.0, 0.11.1, 0.12.0, 0.12.1, 0.12.2, 0.12.3, 0.12.4, 0.12.5, 0.12.6, 0.
12.7, 0.12.9, 0.12.10, 0.12.11, 0.12.13, 0.12.14, 0.12.15, 0.12.16, 0.13.0, 1.0.
0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.1.0, 1.2.0, 1.3.0, 1.3.1, 1.3.2, 1.3.4, 1.4.0)
ERROR: No matching distribution found for bokeh>=2.0.0 (from panel>=0.7.0->holov
iews->-r D:\ray\dev\COVID-19\condaenv.tvdi0rp1.requirements.txt (line 5))


CondaEnvException: Pip failed
这是原始堆栈跟踪:

Traceback (most recent call last):
  File "d:\miniconda3\envs\tf2\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "d:\miniconda3\envs\tf2\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "d:\miniconda3\envs\tf2\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "d:\miniconda3\envs\tf2\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "d:\miniconda3\envs\tf2\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "2.py", line 1, in <module>
    import tensorflow as tf
  File "d:\miniconda3\envs\tf2\lib\site-packages\tensorflow\__init__.py", line 41, in <module>
    from tensorflow.python.tools import module_util as _module_util
  File "d:\miniconda3\envs\tf2\lib\site-packages\tensorflow\python\__init__.py", line 50, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "d:\miniconda3\envs\tf2\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 69, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "d:\miniconda3\envs\tf2\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "d:\miniconda3\envs\tf2\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "d:\miniconda3\envs\tf2\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "d:\miniconda3\envs\tf2\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "d:\miniconda3\envs\tf2\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/errors

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.
回溯(最近一次呼叫最后一次):
文件“d:\miniconda3\envs\tf2\lib\site packages\tensorflow\python\pywrap\u tensorflow.py”,第58行,在
从tensorflow.python.pywrap\u tensorflow\u内部导入*
文件“d:\miniconda3\envs\tf2\lib\site packages\tensorflow\python\pywrap\u tensorflow\u internal.py”,第28行,在
_pywrap\u tensorflow\u internal=swig\u import\u helper()
文件“d:\miniconda3\envs\tf2\lib\site packages\tensorflow\python\pywrap\u tensorflow\u internal.py”,位于swig\u import\u helper中的第24行
_mod=imp.load_模块(“pywrap_tensorflow_internal”,fp,路径名,描述)
文件“d:\miniconda3\envs\tf2\lib\imp.py”,第242行,在load_模块中
返回加载动态(名称、文件名、文件)
文件“d:\miniconda3\envs\tf2\lib\imp.py”,第342行,在load\u dynamic中
返回负载(规格)
ImportError:DLL加载失败:找不到指定的模块。
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“2.py”,第1行,在
导入tensorflow作为tf
文件“d:\miniconda3\envs\tf2\lib\site packages\tensorflow\\uuuu init\uuuu.py”,第41行,在
从tensorflow.python.tools将模块_util作为_模块_util导入
文件“d:\miniconda3\envs\tf2\lib\site packages\tensorflow\python\\ uuu init\uuu.py”,第50行,在
从tensorflow.python导入pywrap\u tensorflow
文件“d:\miniconda3\envs\tf2\lib\site packages\tensorflow\python\pywrap\u tensorflow.py”,第69行,在
提高效率(msg)
ImportError:回溯(最近一次呼叫上次):
文件“d:\miniconda3\envs\tf2\lib\site packages\tensorflow\python\pywrap\u tensorflow.py”,第58行,在
从tensorflow.python.pywrap\u tensorflow\u内部导入*
文件“d:\miniconda3\envs\tf2\lib\site packages\tensorflow\python\pywrap\u tensorflow\u internal.py”,第28行,在
_pywrap\u tensorflow\u internal=swig\u import\u helper()
文件“d:\miniconda3\envs\tf2\lib\site packages\tensorflow\python\pywrap\u tensorflow\u internal.py”,位于swig\u import\u helper中的第24行
_mod=imp.load_模块(“pywrap_tensorflow_internal”,fp,路径名,描述)
文件“d:\miniconda3\envs\tf2\lib\imp.py”,第242行,在load_模块中
返回加载动态(名称、文件名、文件)
文件“d:\miniconda3\envs\tf2\lib\imp.py”,第342行,在load\u dynamic中
返回负载(规格)
ImportError:DLL加载失败:找不到指定的模块。
未能加载本机TensorFlow运行时。
看见https://www.tensorflow.org/install/errors
因为一些常见的原因和解决方案。包括整个堆栈跟踪
以上是请求帮助时的错误消息。
现状 我在两台机器上反复遇到了类似的问题(这是我得到的最远的问题)。所讨论的一些问题似乎是众所周知的,例如:。 不仅是为了复制,还应该开始使用虚拟环境来测试多个tf版本。可以这样实现:()

据我所知,有几件事是可以处理的

检查版本和兼容性 正如我们也评论过的那样,非常重要的是要注意不同的安装版本。我也在书中谈到了这一点。您是以何种方式安装python版本和anaconda的?因为用户和系统模式选项都存在于Windows(您应该正在使用的)上,这可能会造成干扰。要找到答案,可以在cmd中键入以下命令:
where anaconda
where python
。这将输出系统中找到的位置的列表。如果是的话
$ pip install --user pipenv
C:\Users\XXXXX\AppData\Local\Programs\Python\Python38\Scripts\pip.exe install https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow_cpu-2.2.0-cp38-cp38-win_amd64.whl
pip.exe -V
pip.exe install https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow_cpu-2.2.0-cp38-cp38-win_amd64.whl
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.y\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.y\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.y\lib