惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
Help Net Security
Help Net Security
P
Privacy International News Feed
T
Threat Research - Cisco Blogs
C
Cisco Blogs
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
L
LINUX DO - 热门话题
Security Latest
Security Latest
A
Arctic Wolf
G
GRAHAM CLULEY
月光博客
月光博客
S
Securelist
D
Docker
J
Java Code Geeks
T
Troy Hunt's Blog
T
Tenable Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
SecWiki News
SecWiki News
S
Security @ Cisco Blogs
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
LINUX DO - 最新话题
Recent Commits to openclaw:main
Recent Commits to openclaw:main
aimingoo的专栏
aimingoo的专栏
博客园 - 【当耐特】
H
Heimdal Security Blog
The Hacker News
The Hacker News
博客园 - 三生石上(FineUI控件)
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
Netflix TechBlog - Medium
Vercel News
Vercel News
Forbes - Security
Forbes - Security
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
B
Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
S
Secure Thoughts
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Check Point Blog
云风的 BLOG
云风的 BLOG
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
The Blog of Author Tim Ferriss
L
Lohrmann on Cybersecurity
F
Full Disclosure
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Proofpoint News Feed

博客园 - ubirdy

在Cursor中使用Anthropic的Skills 切换至windows自带中文输入法后卡住的bug解决 用ikuai软路由提供内网NTP服务 在欧拉系统(openEuler)上安装uWSGI 在欧拉系统(openEuler)上安装Nginx 海康工业相机SDK错误码常见场景解析 ubuntu22.04 server安装nvidia cuda 12.08提示Nouveau 驱动已经在用 ubuntu22.04更换镜像源 ubuntu22.04安装CUDA ICMP时间戳漏洞CVE-1999-0524的处理 解决supervisor在香橙派AIpro上启动问题 用ffplay在香橙派AIPro上播放PCM文件 香橙派OrangePi_AiPro超频CPU与NPU 昇腾310B4在转换onnx格式至om格式时提示BrokenPipeError: [Errno 32] Broken pipe FFplay命令参数 yoloV7训练结果分析 在windows中安装pytorch的GPU版本及torchvision Win11禁用右键菜单折叠改用经典右键菜单 Altas产品查询CANN软件包版本的方法
Python打包工具 Pyinstaller使用教程
ubirdy · 2025-04-07 · via 博客园 - ubirdy

1、安装PyInstaller:首先,需要使用pip命令安装PyInstaller。在命令行中执行以下命令即可:

注意:请按需将pip替换成pip3

2、打包脚本:在命令行中进入到要打包的Python脚本所在的目录。然后执行以下命令:

pyinstaller your_script.py

3、自定义打包选项:PyInstaller提供了一些选项,可以用来自定义打包过程。

--onefile  将所有的依赖库打包成一个单独的可执行文件,而不是多个文件。

--name  指定生成的可执行文件的名称

--icon  指定生成的可执行文件的图标文件

-–distpath   该参数后跟可执行文件的路径

-F   生成一个可执行文件

-D   生成一个目录(包含多个文件)作为可执行文件

-w   运行exe时,不显示命令行窗口(仅对Windows有效)

-i   该参数后跟可执行文件的icon图标路径

-n  该参数后跟可执行文件的新名字

4、有些情况下,PyInstaller可能无法自动识别脚本的所有依赖库,或者依赖库的路径不正确。这时,可以使用--hidden-import选项手动添加缺失的依赖库。例如:

pyinstaller --hidden-import your_module your_script.py

5、处理资源文件:如果脚本中使用了一些外部的资源文件(如图片、配置文件等),这些文件也需要被打包进可执行文件中。可以使用--add-data选项来指定资源文件的路径和在可执行文件中的相对路径。例如:

pyinstaller --add-data "path/to/resource.png:resource" your_script.py

6、运行可执行文件:生成的可执行文件可以在其他机器上直接运行,无需安装Python解释器和相关库。只需双击可执行文件或在命令行中执行即可运行脚本。

 命令示例:

pyinstaller -i apple.ico -F test.py

参数解释:-i 是生成exe文件的图标,后边参数即为图标的路径;-F生成一个exe文件,如果用-D的话,会生成一个文件夹,包含exe和依赖的dll等文件;最后是要打包的python脚本名称;如果运行exe后,不想显示cmd窗口的话,加上-w即可

7、对于一些库需要依赖DLL文件,可以加上 --collect-all 自动收集所有依赖DLL

pyinstaller -F -w -i icon.ico test.py --collect-all pyzbar (pyzbar是需要DLL的库名,按实际情况输入库名)