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

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环境设置为你工程工作的依赖环境。
    在这里插入图片描述
    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终端输入如下命令:
    在这里插入图片描述
    打包的过程可能会有缺失依赖包的情况,大家自行安装就可以了,打包成功后会生成exe文件:
    在这里插入图片描述

Step-3: 执行

建议大家在终端执行,这样容易发现错误:
在这里插入图片描述
效果:
在这里插入图片描述

结语:

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

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值