【Python 打包】Python 应用 pyinstaller 打包程序生成 .exe

最近做了一个微博爬虫,实时监控微博动态,并实现发短信提醒的功能(短信推荐-榛子科技-提供的短信接口,可以实现自定义短信内容,像阿里云、腾讯云啥的,要发送自定义短信,必须得企业认证啥的,否则只能发送验证码,并不支持个人用户发送自定义内容),做完后,感觉程序代码没有修改的必要了,又怕以后自己瞎动代码,所以干脆冻结代码,生成可执行文件

我的配置:
pycharm 2018 x64
python 3.7.1
pip 19.1.1

看了网上好多文章,最终采用 pyinstaller 这个东西(现在的 pyinstaller 已经支持 python 3.7 版本)

1>
安装很简单,(两种方法)

(1) 命令行 pip install pyinstaller
(2) 或者在 File -> settings 添加 pyinstaller 插件

2>
打包程序(命令行参数如下:)

-F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用
-D, –onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,我个人比较推荐这样,代码易于维护
-K, –tk 在部署时包含 TCL/TK
-a, –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码.
-d, –debug 产生debug版本的可执行文件
-w,–windowed,–noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)
-c,–nowindowed,–console
使用控制台子系统执行(默认)(只对Windows有效)

pyinstaller -c xxxx.py

pyinstaller xxxx.py --console

-s,–strip 可执行文件和共享库将run through strip.注意Cygwin的strip往往使普通的win32 Dll无法使用.
-X, –upx 如果有UPX安装(执行Configure.py时检测),会压缩执行文件(Windows系统中的DLL也会)(参见note)
-o DIR, –out=DIR 指定spec文件的生成目录,如果没有指定,而且当前目录是PyInstaller的根目录,会自动创建一个用于输出(spec和生成的可执行文件)的目录.如果没有指定,而当前目录不是PyInstaller的根目录,则会输出到当前的目录下.
-p DIR, –path=DIR 设置导入路径(和使用PYTHONPATH效果相似).可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源
–icon=<FILE.ICO>
将file.ico添加为可执行文件的资源(只对Windows系统有效),改变程序的图标 pyinstaller -i ico路径 xxxxx.py

–icon=<FILE.EXE,N> 将file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效)
-v FILE, –version=FILE 将verfile作为可执行文件的版本资源(只对Windows系统有效)
-n NAME, –name=NAME 可选的项目(产生的spec的)名字.如果省略,第一个脚本的主文件名将作为spec的名字

扫描二维码关注公众号,回复: 9106885 查看本文章

3> 方法:
我最终用的命令只是 :pyinstaller -F xxxx.py(此处必须是路径,pyinstaller 得能找到 .py 文件,要不然会报文件找不到错误)
当然,如果想要隐藏控制台窗口,格式为:pyinstaller -F -w xxxx.py

4> 成功:
在 dist 文件夹下生成了 .exe 文件

发布了83 篇原创文章 · 获赞 15 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_42127861/article/details/89949310
今日推荐