吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2861|回复: 62
收起左侧

[Python 原创] python将脚本打包成执行文件

  [复制链接]
Solowang 发表于 2024-3-18 09:57
本帖最后由 Solowang 于 2024-3-18 10:00 编辑

                                                                                                                                                                      新手刚刚学习,嘿嘿 。慢慢积累总会有结果、
PyInstaller                  是一个第三方库,它能够在 windows\linux\mac os   系统下进行操作将python系统进行打包成执行文件、  python程序可以在没有安装python环境下进行运行,
                                                ,也可以作为一个独立文件进行传递或管理。支持python 2.7 或 3.3+  。

安装PyInstaller :
                              安装:pip install  pyinstaller
                              更新:pip install --upgrade  pyinstaller                  
常用选项:
                        -h,–help        查看该模块的帮助信息
                       -F,-onefile        产生单个的可执行文件
                       -D,–onedir        产生一个目录(包含多个文件)作为可执行程序
                       -a,–ascii        不包含 Unicode 字符集支持
                      -d,–debug        产生 debug 版本的可执行文件
                     -w,–windowed,–noconsolc        指定程序运行时不显示命令行窗口(仅对 Windows 有效)
                     -c,–nowindowed,–console        指定使用命令行窗口运行程序(仅对 Windows 有效)
                     -o DIR,–out=DIR        指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
                     -p DIR,–path=DIR        设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。
                      也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径-n NAME,–name=NAME        
                       指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字-i        选择图标



使用简单:           可以在黑窗口  WIN+R    输入cmd    ,    输入pyinstaller -i xxx.py    进行打包执行

免费评分

参与人数 5吾爱币 +3 热心值 +4 收起 理由
yeyu523 + 1 + 1 热心回复!
yinxing + 1 已经处理,感谢您对吾爱破解论坛的支持!
jingjingaini + 1 谢谢@Thanks!
Sydyanlei0 + 1 + 1 用心讨论,共获提升!
laian + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

醉红尘0 发表于 2024-3-18 10:53
补充一点,打包成exe后,别用“os.path.dirname(os.path.abspath(__file__))”之类的方法获取项目所在目录,因为打包后的exe运行时是通过临时运行一个虚拟目录的方式运行的,通过上面的方法获取到的目录是该虚拟目录所在路径,而不是exe所在目录。如果需要用到一些和目录项目的操作(比如处理exe同级命令下的某个txt之类的),建议用“./”等相对目录方式。
土鸡炖蘑菇 发表于 2024-3-18 10:51
momomo0 发表于 2024-3-18 10:42
怎么将整个项目文件夹打包呢

-F 打包成单文件,如果有附带资源可以用 --add-data 或者修改spec文件。看4楼
土鸡炖蘑菇 发表于 2024-3-18 10:47
本帖最后由 土鸡炖蘑菇 于 2024-3-18 10:50 编辑

-i  是指定图标,楼主 编译exe命令写了-i  还不带 图标文件, 这是干啥。

正确用法:   pyinstaller xxx.py
如果需要打包成单文件,就是  pyinstaller -F xxx.py
不需要dos窗口出来 就加个  -w
如果需要以管理员身份运行可以加   --uac-admin
自定义图标需要提前准备ico图标文件,  pyinstaller -i xx.ico  xxx.py

也可以多个参数一起使用,例如脚本文件main.py ,图标文件abc.ico ,用QT做了UI 不需要dos界面同时需要管理员身份运行: pyinstaller -F -w --uac-admin -i abc.ico main.py


如果需要打包其他资源文件,可以用--add-data,不过这个我习惯是修改spec文件      pyinstaller x.py --add-data="源地址;目标地址"      ,  具体可以参考https://blog.csdn.net/u012219045/article/details/114841287
唯爱丶雪 发表于 2024-3-18 10:55
pyinstaller -F -w XX.py  用这个就行了
tingyucloud 发表于 2024-3-18 10:59
可以可以,学
typps 发表于 2024-3-18 11:00
比如想在mac上打包exe程序的话,有什么方法可以实现嘛~求大佬
st0rm 发表于 2024-3-18 11:04
typps 发表于 2024-3-18 11:00
比如想在mac上打包exe程序的话,有什么方法可以实现嘛~求大佬

应该可以直接指定打包文件的格式的吧
hqqldgldg2023 发表于 2024-3-18 11:06
怎么用,怎么用?
qq686867 发表于 2024-3-18 11:12
总感觉在哪里看到过呢?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 10:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表