Windows 10 pyinstaller tensorflow缺少模块

n3h0vuf2  于 6个月前  发布在  Windows
关注(0)|答案(3)|浏览(82)

我尝试使用pyinstaller部署模型,当我运行它时,我得到以下错误。
ModuleNotFoundError:没有名为'tensorflow.python._pywrap_tensorflow_internal'的模块
Tensorflow 1.7.0
cudnn64_7
CUDA 9.0
Python 3.6

omqzjyyz

omqzjyyz1#

你可以通过将dist文件夹中的_pywrap_tensorflow_internal.pyd文件重命名为tensorflow.python._pywrap_tensorflow_internal.pyd来解决这个问题,我仍然需要弄清楚如何告诉pyinstaller“正确的”模块名称。

f87krz0w

f87krz0w2#

(仅适用于Python 3.5)
在Jascha的解决方案的基础上,一种解决方法是手动从以下位置获取文件**__python._pywrap_tensorflow_internal.pyd**

  • PathToAnaconda3/env//Lib/site-packages/tensorflow/python/__python._pywrap_tensorflow_internal.pyd*

并将其重命名为tensorflow.python.__python._pywrap_tensorflow_internal.pyd
然后这个重命名的文件可以通过以下方式移动到exe文件中:

pyinstaller -F <name of python file> --add-data "pathToFile/tensorflow.python.__python._pywrap_tensorflow_internal.pyd";.

字符串
标志--add-data接受两个由分号分隔的参数

--add-data source_path;destination_path_inside_exe

xghobddn

xghobddn3#

使用pyinstaller编译时将_pywrap_tensorflow_internal.pyd作为二进制文件添加
我正在使用Tensorflow 2.10,Python 3.10和Pyinstaller 5.13.0。下面是我所做的:
.spec文件中,

a = Analysis(
  ['test.py'],

  pathex=[],

  binaries=[('path_to_tensorflow_python_folder\_pywrap_tensorflow_internal.pyd', '.')],

  ...
)

字符串

相关问题