欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows环境下 Tensorflow 2.1.0 打包成 exe 可执行程序

程序员文章站 2022-05-27 17:06:18
...

windows环境下 Tensorflow 2.1.0 打包成 exe 可执行程序

项目需要将TensorFlow2.1.0 打包成exe 可执行程序。踩过的坑太多,这里简单记录一下,本文基于的OS环境是 windows7。

Step-1: 环境准备。

  1. 安装Anaconda:(熟悉python编程的同学应该不会陌生),这一步的目的是建立一个以python 3.7 为解析器的工作环境, 因为TF2.1.0 依赖Python3+工作。这部分工作,网上的资料非常多,请大家自行搜索,不再赘述。这里建议大家安装到其他盘符,而不是c盘,随着项目的进展,会占用越来越多的磁盘空间。
  2. 创建python 3.7工作环境:安装完Anaconda 后,通过【开始】>>> 【所有程序】>>> 【Anaconda3(64bit)】>>> 【Anaconda prompt(Anaconda3)】启动conda 终端,输入如下命令:
conda create -n your-env-name python=3.7.7

这里python的版本符合 TF2.1.0工作的最低要求就行。

  1. 配置pyinstaller【关键】:现在(2020/07/02)release的pyinstaller 版本为3.6,不符合TF2.1.0的打包要求,勉强能打包也是各种问题。所以,根据pyinstaller开发者提示,我们可以用pyinstaller的开发版本解决(4.0),具体办法,大家可以参考如下链接,自行编译安装pyinstaller4.0-Dev版本,很轻松就可以搞定,请参考如下 链接:编译安装pyinstaller4.0-dev
    注意这里面的pyinstaller需要安装到大家刚刚创建Anacanda虚拟环境中。
  2. 安装pycharm:pycharm还是一款非常优秀的python开发工作软件,网上的资料也非常多,这里不再赘述。
  3. 配置pycharm:建立pycharm工程,导入项目代码后,就需要配置环境了,将刚创建的Anacanda环境设置为你工程工作的依赖环境。
    windows环境下 Tensorflow 2.1.0 打包成 exe 可执行程序
    6.安装TensorFlow 2.1.0:如上面的图片所示,还是建议大家在pycharm下安装TF包以及项目需要的依赖包。
    注意此处有坑】:
    (1)一定要先安装 tensorflow-estimator== 2.1.0,conda终端下(请先切换到你所要工作的env)执行如下命令:
conda install tensorflow-estimator==2.1.0

(2)再安装tensorflow== 2.1.0:

conda install tensorflow==2.1.0

简单解释下,如果先按照tensorflow== 2.1.0, conda会默认安装tensorflow-estimator== 2.2.0作为 TF2.1.0的依赖包,而这个版本的tensorflow-estimator== 2.2.0 在exe环境下是不work的。

Step-2: 打包

1.准备spec:这里面的spec会import几个特殊的包,请大家注意hiddenimports字段。

# -*- mode: python -*-

block_cipher = None
a = Analysis(['easyai.py'],
             pathex=['.'],
             binaries=[],
             datas=[],
             hiddenimports=['pkg_resources.py2_warn','scipy.special','scipy.special.cython_special'],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          [],
          exclude_binaries=True,
          name='easyAI',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          console=True,
          icon='icon_easyai.ico')
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               name='easyAI')
  1. 打包成exe:Anaconda终端或者pycharm终端输入如下命令:
    windows环境下 Tensorflow 2.1.0 打包成 exe 可执行程序
    打包的过程可能会有缺失依赖包的情况,大家自行安装就可以了,打包成功后会生成exe文件:
    windows环境下 Tensorflow 2.1.0 打包成 exe 可执行程序

Step-3: 执行

建议大家在终端执行,这样容易发现错误:
windows环境下 Tensorflow 2.1.0 打包成 exe 可执行程序
效果:
windows环境下 Tensorflow 2.1.0 打包成 exe 可执行程序

结语:

TF的版本2.1.0 打包成exe,先写到这里,作为一个记录吧,也真心希望能帮助到大家。欢迎大家留言,我会及时回复的,这个过程中也还是有很多细节限于篇幅不能详细展开。转载,请注明出处。谢谢大家。

相关标签: Tensorflow