python程序打包成exe可执行文件,python的py文件打包成exe
1系统环境windows版本:Win7 64位python环境:Anacondapython版本:3.6 64位pyinstaller版本:3.52安装pyinstaller库Pyintaller时,默认会将解释器中的所有包打包在一起,产生一个非常大的exe文件。所以建议使用Anaconda的虚拟环境来安装程序所需的包,然后在这个虚拟环境中进行打包。
打开Anaconda提示符,切换到新创建的虚拟环境,安装pyinstaller和程序导入的包:
(基本)C:\Users\Administrator conda激活分析
(解析)c:\ users \ administrator pip install py installer 3 packager 3.1将单个exe文件打包到项目目录中。
(分析)D:\ workstation \ py charm \ analysis \ py excel有两个文件,statistics_sales.py,汇率表. xlsx和一个origin目录,其中汇率表. xlsx和origin是程序使用的资源。然后创建一个新的buildexe目录。然后把statistics_sales.py放在buildexe目录下,从网上下载一个ico格式的图标,命名为icon.ico放在目录下。最后,命令行进入目录执行命令:
``蟒蛇皮
(分析)d:\ workstation \ py charm \ analysis \ py excel \ build exe py installer-f-w-iii con . ico statistics _ sales . py等待包完成。
其中包括:
f:表示生成单个可执行文件D:onedir创建一个包含exe文件的目录,但是会依赖很多文件(默认选项)W:表示去掉控制台窗口,在GUI界面中非常有用。但是,如果是命令行程序,那么删除这个选项C:控制台,无窗口使用控制台,无界面(默认)。p:表示您自定义了要加载的类的路径。一般不用I:来表示可执行文件的图标。
打包后,两个新目录build和dist以及一个statistics_sales.spec文件将出现在buildexe目录中。
exe文件存储在dist目录下,会发布到其他没有python环境的系统上。
提示:因为程序使用了两个资源文件,汇率表。xlsx和origin目录,所以如果要正常运行exe,需要把资源和exe文件放在同一个目录下。3.2打包目录文件是用**-D**参数和。规格脚本。打包命令:
Py-dxxx.spec.spec脚本描述:
``蟒蛇皮
# -*-模式:python编码:utf-8 -*-
block_cipher=无
a=分析([main.py],
pathex=[ d:\ \ workstation \ \ py charm \ \ analysis \ \ search term generator \ \ app ],
二进制=[],
数据=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
排除=[],
win _ no _ prefer _ redirects=False,
win_private_assemblies=False,
密码=块密码,
noarchive=False)
pyz=PYZ(a.pure,a.zipped_data,
密码=块密码)
exe=EXE(pyz,
a .脚本,
[],
exclude_binaries=True,
name=main ,
调试=假,
boot loader _ ignore _ signals=False,
strip=False,
upx=True,
console=False,icon=search.ico )
coll=COLLECT(exe,
二进制文件,
压缩文件,
a .数据,
strip=False,
upx=True,
upx_exclude=[],
Name=main)4打包错误处理实现py installer-f-w-ii icon . icopy charm . py时,有时不会出现错误。
处理方法:
1.找到shutil.py并编辑它。
如图添加红色部分。
2.找到ucrtbase.dll,将文件复制到图1中用红色字体2标记的地址。
通常的地址是
c:\ Users \ Administrator \ AppData \ Local \ py installer \ bin cache 00 _ py38 _ 64 bit
注意:如果在文件中找不到AppData文件,是因为这个文件是隐藏项,需要打开隐藏项按钮。
转载请联系作者获得授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。