使用PyInstaller把Python脚本打包成exe

简介:

1、下载地址:http://www.pyinstaller.org/ 。

2、解压即用(V2.1)。注意环境变量,或者用pyinstaller.py的全路径,或者到解压目录下使用。*^_^*

3、打包命令示例:

1
python pyinstaller.py  - - onefile yourprogram.py

4、参数信息参见手册的Options 。


*** Updated 2015-12-11 ***

1、用pip安装pyinstaller3。

1
pip3 install pyinstaller

2、打包命令示例:

1
pyinstaller --onefile yourprogram.py

另外两个常用的参数:

(1)、添加图标

1
-i walker.ico     //添加图标

(2)、压缩可执行文件(upx

1
--upx-dir UPX_DIR     //指定压缩程序(upx.exe)目录,默认当前目录


FAQ:

Q1、ImportError: DLL load failed

A1、walker遇到的情况是引用了pyd文件,而这个pyd文件依赖其他dll库,walker的解决方案是安装VC2010运行时库。


Q2、程序中用到多进程在打包时应注意些什么?

A2、在main函数中添加multiprocessing.freeze_support()语句,参考这里


Q3、报如下几种错误:

1
2
3
ImportError: No module named _mssql
ImportError: No module named decimal
ImportError: No module named uuid

A3、很可能是代码中用到了pymssql模块,这时的解决方法是:a、import decimal;b、import uuid;c、重新编译;d、拷贝_mssql.pyd到发布目录。


Q4、打包成功,运行时报如下错误:

1
2
3
4
Traceback (most recent call last):
   File  "main.py" , line 9,  in  <module>
ModuleNotFoundError: No module named  'sub.py'
[4100] Failed to execute script main

A4、walker 排查出的原因是 py 文件编码不一致,main.py 是 utf8 编码,sub.py 是 gbk 编码,统一成 utf8 编码后问题解决。


相关阅读:

1、Python 打包可执行文件

2、Linux下安装pyinstaller用于将py文件打包生成一个可执行文件

3、pyinstaller无法在命令行运行,提示failed to create process.


*** walker * Updated 2015-12-11 ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1351403如需转载请自行联系原作者


RQSLT

相关文章
|
21天前
|
Linux Shell Python
Linux执行Python脚本
Linux执行Python脚本
26 1
|
10天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
【4月更文挑战第9天】本文探讨了Python在自动化测试中的应用,强调其作为热门选择的原因。Python拥有丰富的测试框架(如unittest、pytest、nose)以支持自动化测试,简化测试用例的编写与维护。示例展示了使用unittest进行单元测试的基本步骤。此外,Python还适用于集成测试、系统测试等,提供模拟外部系统行为的工具。在脚本编写实践中,Python的灵活语法和强大库(如os、shutil、sqlite3、json)助力执行复杂测试任务。同时,Python支持并发、分布式执行及与Jenkins、Travis CI等持续集成工具的集成,提升测试效率和质量。
|
17天前
|
存储 监控 异构计算
【Python】GPU内存监控脚本
【Python】GPU内存监控脚本
|
17天前
|
Ubuntu Unix Linux
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
|
26天前
|
XML Shell Linux
性能工具之 JMeter 使用 Python 脚本快速执行
性能工具之 JMeter 使用 Python 脚本快速执行
40 1
性能工具之 JMeter 使用 Python 脚本快速执行
|
9天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
9天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。
|
12天前
|
缓存 监控 Python
解密Python中的装饰器:优雅而强大的编程利器
Python中的装饰器是一种强大而又优雅的编程工具,它能够在不改变原有代码结构的情况下,为函数或类添加新的功能和行为。本文将深入解析Python装饰器的原理、用法和实际应用,帮助读者更好地理解和利用这一技术,提升代码的可维护性和可扩展性。
|
1天前
|
安全 数据处理 开发者
《Python 简易速速上手小册》第7章:高级 Python 编程(2024 最新版)
《Python 简易速速上手小册》第7章:高级 Python 编程(2024 最新版)
12 1