python 打包exe 还需要安装python,将python文件打包成exe可运行文件
最近需要做一个接口,打包成各种平台(win,android,linux,mac等)的可执行程序。).首先,使用基本的windows进行练习。
如何写接口和跨平台封装,我会在下一篇博文中介绍。
应用技术介绍我的环境是在anaconda3 prompt中制作的,就是我之前博文中的环境。
用pyinstaller打包没什么好说的。用python虚拟环境打包时遇到的一些坑和问题(下面会解释原因)解释了为什么用虚拟环境打包。因为pycharm或您日常工作的python环境中,基本上会有许多未使用的库被使用,并且会在pyinstaller打包时打包在一起,结果基本上是一个非常简单的py脚本,打包了超过200M(神圣的狗屎)
要查看当前环境的库,可以在anaconda中使用以下命令:
康达列表
我能看到很多很多。
所以我们要搭建一个干净的虚拟环境,只安装我们需要的库,然后用pyinstaller打包。
要进入打包过程,首先,使用以下命令检查已经在anaconda中创建的环境:
康达环境列表
以上是我平时用的base(py3.7)、py2(py2.7)、py36(py3.6)、nilmtk-env(电荷分解环境)。
现在让我们创建一个新的虚拟环境:
(python版本的虚拟环境,根据你要打包的文件,我这里是3.6)
(work_space是虚拟环境的名称,可以自己命名)
a create-name work _ space python=3.6输入y继续在虚拟环境中安装python。(开vpn会更快)
创建环境后,使用
一个Condenv列表,我们再来看看我们所有环境的列表。
您可以看到我们新环境的名称和目录。
然后使用命令:
(work_space是您创建的虚拟环境的名称)
激活work_space以切换到新创建的虚拟环境。
接下来,我们在这个环境中安装pyinstaller。
安装pyinstaller
之后,使用pip安装我们需要编译python文件的库。比如我安装了指定版本的numpy和pyaudio。
等环境准备好了,我们就可以打包了。
关于https://www.jianshu.com/p/48f6dea265eb.包装顺序很清楚
我的程序很简单,就是一个py脚本,显示在控制台里。我只需要把它打包成一个exe。(如果你有很多脚本,请参考上面链接的打包教学,将py关联到package)
切换到要打包的py文件的目录,
然后我的命令是
(将getChord_micphone.py打包成。exe并显示控制台)
py installer-c-F get chord _ mic phone . py
之后练习大量的英语
最后会显示成功打包和exe的路径。
看
哇!
只有18Mb!
你超级幸福吗?
然后是跑步。噗。闪回结束了。
别慌~ ~,我给你演示一下怎么把目录切换到生成的。当您得到一个错误时。
使用。\运行该文件。
例如,我的:\getChord_micphone.exe
你的脚本没有使用这个库,是吗?他偷偷用了,还没发现。
所以我们打包的时候挡住了他。
回到刚才要打包的python文件的目录。
你会发现这个地方还有很多文件。
我们使用文本编辑器或记事本打开。同名的规格文件。
将上述错误报告中找不到的pkg_resources.py2_warn添加到hiddenimports。
保存。
之后,在这里切换目录,将之前的打包命令改为用这个配置文件打包。
(getChord_micphone.spec是您的配置文件)
py installer-c-F get chord _ mic phone . spec
又一堆英语。
耐心等待。
再次打包成功。
还是18Mb?
轻轻双击生成的exe。
搞定了。~~~
收尾工作打包后,如果还需要用这个虚拟环境打包同一个项目,可以保留。
如果不需要这个虚拟环境,
一个condenv列表激活你以前的虚拟环境名delete -n要删除的虚拟环境名-都可以。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。