Python 3.6上的Pyinstaller和Tensorflow的打包问题(_pywrap_tensorflow_internal)

问题描述 投票:0回答:1

我在Windows 10上使用pyinstaller(3.4)其他时间使用python 3.6,但这次我遇到了模块_pywrap_tensorflow_internal(tensorflow-gpu 1.12)的问题。该程序在生成它的计算机上运行完美,但在其他计算机上(具有相同的OS版本)存在路径问题。

我发现了一些线程(Tensorflow-gpu with pyinstallerWindows 10 pyinstaller tensorflow missing moduleshttps://github.com/pyinstaller/pyinstaller/issues/3754)讨论类似的问题,但建议的解决方案在我的情况下不起作用。

起初我收到以下错误:

回溯(最近一次调用最后一次):文件“site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py”,第18行,在swig_import_helper文件“imp.py”,第297行,在find_module中导入错误:没有名为'_pywrap_tensorflow_internal'的模块

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用最后一次):在文件“c:\ dev \ anaconda \ envs \ terminal \ lib \ site-packages \ PyInstaller \ loader \”中的文件“site-packages \ tensorflow \ python \ pywrap_tensorflow.py”,第58行pyimod03_importers.py“,第627行,在exec_module文件”site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py“,第28行,在文件”site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py“第20行,在swig_import_helper中导入错误:DLL加载失败:找不到指定的模块。

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用最后一次):文件“hands_up_bending_counter_object_oriented.py”,第12行,在文件“c:\ dev \ anaconda \ envs \ terminal \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”中,第627行,在exec_module文件“tf_pose__init__.py”,第5行,在文件“c:\ dev \ anaconda \ envs \ terminal \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,第627行,在exec_module文件“tf_pose \ runner.py“,第7行,在文件”c:\ dev \ anaconda \ envs \ terminal \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py“,第627行,在exec_module文件”tf_pose \ common.py“中,第3行,在文件“c:\ dev \ anaconda \ envs \ terminal \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,第627行,在exec_module文件“site-packages \ tensorflow__init __。py”中,行24,在文件“c:\ dev \ anaconda \ envs \ terminal \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,第627行,在exec_module文件“site-packages \ tensorflow \ python__init __。py”中,行49,在文件“c:\ dev \ anaconda \ envs \ terminal \ lib \ site-packages \ PyInst中aller \ loader \ pyimod03_importers.py“,第627行,在exec_module文件”site-packages \ tensorflow \ python \ pywrap_tensorflow.py“,第74行,在ImportError中:Traceback(最近一次调用最后一次):文件”site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py“,第18行,在swig_import_helper文件”imp.py“,第297行,在find_module中导入错误:没有名为'_pywrap_tensorflow_internal'的模块

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用最后一次):在文件“c:\ dev \ anaconda \ envs \ terminal \ lib \ site-packages \ PyInstaller \ loader \”中的文件“site-packages \ tensorflow \ python \ pywrap_tensorflow.py”,第58行pyimod03_importers.py“,第627行,在exec_module文件”site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py“,第28行,在文件”site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py“第20行,在swig_import_helper中导入错误:DLL加载失败:找不到指定的模块。

无法加载本机TensorFlow运行时。

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

出于一些常见原因和解决方案。在寻求帮助时,请在此错误消息上方包括整个堆栈跟踪。 [32124]无法执行脚本hands_up_bending_counter_object_oriented

我试图将文件_pywrap_tensorflow_internal.pyd放入dist文件夹中的子目录/tensorflow/python(通过修改.spec文件),如(https://github.com/pyinstaller/pyinstaller/issues/3754)所示,但现在错误是:

回溯(最近一次调用最后一次):在文件“c:\ dev \ anaconda \ envs \ terminal \ lib \ site-packages \ PyInstaller \ loader \”中的文件“site-packages \ tensorflow \ python \ pywrap_tensorflow.py”,第58行pyimod03_importers.py“,第627行,在exec_module文件”site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py“,第28行,在_pywrap_tensorflow_internal = swig_import_helper()文件”site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py“,行24,在swig_import_helper _mod = imp.load_module('_ pywrap_tensorflow_internal',fp,pathname,description)文件“imp.py”,第243行,在load_module文件“imp.py”,第343行,在load_dynamic中ImportError:DLL加载失败:指定的模块无法找到。

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用最后一次):文件“postural_analysis_fast.py”,第11行,在文件“c:\ dev \ anaconda \ envs \ terminal \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”中,第627行,在exec_module文件“site-packages \ tensorflow__init __。py”,第24行,在文件“c:\ dev \ anaconda \ envs \ terminal \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,第627行,在exec_module中文件“site-packages \ tensorflow \ python__init __。py”,第49行,在文件“c:\ dev \ anaconda \ envs \ terminal \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”,第627行,在exec_module中在ImportError中的文件“site-packages \ tensorflow \ python \ pywrap_tensorflow.py”,第74行:Traceback(最近一次调用最后一次):文件“site-packages \ tensorflow \ python \ pywrap_tensorflow.py”,第58行,在文件中“ c:\ dev \ anaconda \ envs \ terminal \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py“,第627行,在exec_module文件”site-packages \ tensorflow \ python \ pywrap_tensorflow_internal.py“,第28行,in文件“site-packages \ tensorflow \ pytho n \ pywrap_tensorflow_internal.py“,第24行,在swig_import_helper文件”imp.py“,第243行,在load_module文件”imp.py“,第343行,在load_dynamic中ImportError:DLL加载失败:找不到指定的模块。

无法加载本机TensorFlow运行时。

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

出于一些常见原因和解决方案。在寻求帮助时,请在此错误消息上方包括整个堆栈跟踪。 [47340]无法执行脚本postural_analysis_fast

编辑(24.04.2019):

我试图使用Dependencies工具来分析_pywrap_tensorflow_internal.pyd,结果如下:Dependencies result

我在documentation of Dependencies中找不到红色问号的含义(可能缺少dll?),但所有这些dll已经存在于我的dist文件夹中(在主文件夹内)。

python python-3.x tensorflow pyinstaller
1个回答
0
投票

我面临同样的问题,并将依赖工具应用于_pywrap_tensorflow_internal(tensorflow-gpu 1.12)。它需要一些C:\ WINDOWS \ system32文件,其中一个是nvcuda.dll。其他计算机中往往缺少此cuda文件。希望这可以帮助。

Dependencies results

1)https://groups.google.com/a/tensorflow.org/forum/#!topic/discuss/-BluoQjTSLM

2)https://github.com/lucasg/Dependencies

© www.soinside.com 2019 - 2024. All rights reserved.