Python生成exe文件的神器 |
您所在的位置:网站首页 › 运行输入cmd › Python生成exe文件的神器 |
现在很多测试同学写一些小工具都会选择python,直接运行py文件就可以轻松实现自己想要的功能啦!但是大家想没想过,对于没有python环境的同学或者是根本不懂编码的同学来说,该如何运行这些py脚本呢?我们可以把py文件转化成各个系统支持的可执行文件。 在这里,我们介绍一下PyInstaller(本文重点讲解如何生成exe文件)! PyInstaller是一个在 Windows、GNU/Linux、macOS、FreeBSD、OpenBSD、Solaris 和 AIX 下将 Python 程序冻结(打包)为独立可执行文件的程序。与类似工具相比,它的主要优点是 PyInstaller 与 Python 3.7-3.10 一起工作,由于透明压缩,它构建了更小的可执行文件,它是完全多平台的,并使用操作系统支持加载动态库,从而确保完全兼容。 Pyinstaller安装pip install pyinstaller 安装成功后在cmd窗口中输入pyinstaller –h ,输出如下信息证明安装成功 usage: pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME] [--add-data ] [--add-binary ] [-p DIR] [--hidden-import MODULENAME] [--collect-submodules MODULENAME] [--collect-data MODULENAME] [--collect-binaries MODULENAME] [--collect-all MODULENAME] [--copy-metadata PACKAGENAME] [--recursive-copy-metadata PACKAGENAME] [--additional-hooks-dir HOOKSPATH] [--runtime-hook RUNTIME_HOOKS] [--exclude-module EXCLUDES] [--splash IMAGE_FILE] [-d {all,imports,bootloader,noarchive}] [--python-option PYTHON_OPTION] [-s] [--noupx] [--upx-exclude FILE] [-c] [-w] [-i ] [--disable-windowed-traceback] [--version-file FILE] [-m ] [--no-embed-manifest] [-r RESOURCE] [--uac-admin] [--uac-uiaccess] [--win-private-assemblies] [--win-no-prefer-redirects] [--argv-emulation] [--osx-bundle-identifier BUNDLE_IDENTIFIER] [--target-architecture ARCH] [--codesign-identity IDENTITY] [--osx-entitlements-file FILENAME] [--runtime-tmpdir PATH] [--bootloader-ignore-signals] [--distpath DIR] [--workpath WORKPATH] [-y] [--upx-dir UPX_DIR] [-a] [--clean] [--log-level LEVEL] scriptname [scriptname ...] 重点解释 -h 该模块的help信息 -F 生成一个可执行文件 -D 生成一个目录(包含多个文件)作为可执行文件 -w 运行exe时,不显示命令行窗口(仅对Windows有效) -i 该参数后跟可执行文件的icon图标路径 –distpath 该参数后跟可执行文件的路径 -n 该参数后跟可执行文件的新名字 -p pyinstaller可以将代码import导入的依赖包进行打包,有时候自己开发的代码,可能会被忽视,那就需要通过-p 参数手动引入了 输入以下命令 Pyinstaller -F -i icon.ico demo.py 生成文件目录如下: 生成的exe文件保存到上图中的dist 目录 Pyinstaller打包多个py文件pyinstaller -F主文件 -p [其他文件1] -p [其他文件2] python脚本内容输出到cmd窗口有的同学可能会问,如果我想在程序中输出的内容在cmd窗口中显示该如何操作呢?很简单在程序中正常使用print 即可,但是在打包exe可执行文件的时候一定不要使用 –w参数 在cmd中进行传参交互通过sys.argv[]来传递py脚本参数 创建一个python文件,win_demo.py ,代码如下: import sys def add(a, b): c = a + b return c if __name__ == '__main__': print('loaded...') try: a = add(sys.argv[1], sys.argv[2]) print('result is:' + str(a)) except: print('need 2 argument,please try again') print('close...') 然后使用下面的命令生成exe文件 Pyinstaller -Fwin_demo.py 在cmd中 运行如下命令,发现 参数1 和 3 已经成功传入了exe程序,并输出了py脚本中print的相关文字信息 C:\Users\Administrator>D:\py_demo\win_demo1\dist\win_demo.exe 1 3 loaded... result is:13 close... 注意:我们在cmd中运行命令,经常会输入错误的参数,这个时候,我们就需要在py代码中通过异常机制进行捕获处理(代码中的 try…except) 我们运行如下命令,就会触发异常机制 C:\Users\Administrator>D:\py_demo\win_demo1\dist\win_demo.exe loaded... need 2 argument,please try again close... |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |