pyinstaller--将python打包成exe
2013-05-28 17:35
323 查看
pyInstaller是一款用于将pyhon程序打包成exe文件的工具, pyInstaller不是一个python的包 只需要把pyInstaller的文件下载下来放到任意位置都可以
官网是:http://www.pyinstaller.org/
下载地址:http://sourceforge.net/projects/pyinstaller/?source=dlp
python2.6+ 需要pywin32的支持 选择适合自己的系统的版本下载即可.
下载地址:http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/
然后在pyInstaller的目录下为py文件创建对应的spec文件
未指定别的参数的话 会在pyinstaller的目录下 生成文件夹Noveldownloader
Noveldownloader>dist下面生成可执行文件Noveldownloader.exe
Noveldownloader文件夹下有文件Noveldownloader.spec 对于简单的程序 上面的Noveldownloader.exe
就足够了 对于复杂的程序 需要对spec进行操作 然后使用
-F, –onefile 产生一个文件用于部署 (参见XXXXX).
-D, –onedir 产生一个目录用于部署 (默认)
-K, –tk 在部署时包含 TCL/TK
-a, –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码.
-d, –debug 产生debug版本的可执行文件
-w,–windowed, –noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)
-c,–nowindowed, –console 使用控制台子系统执行(默认)(只对Windows有效)
-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参数来设置多个导入路径
–icon= 将file.ico添加为可执行文件的资源(只对Windows系统有效)
–icon= 将file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效)
-v FILE, –version=FILE 将verfile作为可执行文件的版本资源(只对Windows系统有效)
如果要在打包的程序中加入素材文件的话 需要对py代码 和spec文件中的代码进行修改
如果打包成一个exe文件的话 那么需要把py文件中获取文件的路径改为
然后在spec文件中
在a.binaries后面加上一个三元组列表(名字,路径,‘DATA’)
如果打包成一个目录 那么需要把py文件中获取文件的路径改为
然后在spec文件中 在collect的a.binaries后面加上一个三元组列表(名字,路径,’DATA’)
官网是:http://www.pyinstaller.org/
下载地址:http://sourceforge.net/projects/pyinstaller/?source=dlp
python2.6+ 需要pywin32的支持 选择适合自己的系统的版本下载即可.
下载地址:http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/
然后在pyInstaller的目录下为py文件创建对应的spec文件
C:\Users\Administrator\Desktop\pyinstaller-2.0>pyinstaller.py E:\kuaipan\MyWork\python\NovelDownloader.py
未指定别的参数的话 会在pyinstaller的目录下 生成文件夹Noveldownloader
Noveldownloader>dist下面生成可执行文件Noveldownloader.exe
Noveldownloader文件夹下有文件Noveldownloader.spec 对于简单的程序 上面的Noveldownloader.exe
就足够了 对于复杂的程序 需要对spec进行操作 然后使用
python pyinstaller.py [opts] Noveldownloader.spec
-F, –onefile 产生一个文件用于部署 (参见XXXXX).
-D, –onedir 产生一个目录用于部署 (默认)
-K, –tk 在部署时包含 TCL/TK
-a, –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码.
-d, –debug 产生debug版本的可执行文件
-w,–windowed, –noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)
-c,–nowindowed, –console 使用控制台子系统执行(默认)(只对Windows有效)
-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参数来设置多个导入路径
–icon= 将file.ico添加为可执行文件的资源(只对Windows系统有效)
–icon= 将file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效)
-v FILE, –version=FILE 将verfile作为可执行文件的版本资源(只对Windows系统有效)
如果要在打包的程序中加入素材文件的话 需要对py代码 和spec文件中的代码进行修改
如果打包成一个exe文件的话 那么需要把py文件中获取文件的路径改为
os.path.join(os.environ['_MEIPASS2'], 'cat.png')
然后在spec文件中
a.binaries+[('cat.png','E:\\cat.png','DATA')]
在a.binaries后面加上一个三元组列表(名字,路径,‘DATA’)
如果打包成一个目录 那么需要把py文件中获取文件的路径改为
os.path.join(os.path.dirname(sys.executable), 'cat.png'))
然后在spec文件中 在collect的a.binaries后面加上一个三元组列表(名字,路径,’DATA’)
相关文章推荐
- 利用pyinstaller将Python3.6文件打包成exe程序
- [Python][小知识][NO.5] 使用 Pyinstaller 打包成.exe文件
- 用Pyinstaller把Python3程序打包成可执行文件exe
- Pyinstaller 打包python 到exe 在windows下免python环境运行python
- 用PyInstaller把Python代码打包成单个独立的exe可执行文件
- 使用pyinstaller打包python为exe
- pyinstaller 打包 python 脚本成 exe 的坑
- python学习笔记--将python源文件打包成exe文件(pyinstaller)
- 用PyInstaller把python程序打包成exe可执行程序
- 使用Pyinstaller将python脚本打包成exe文件
- Python | 用Pyinstaller打包发布exe应用
- PyInstaller将python脚本打包成exe可执行程序
- python程序打包成.exe----pyinstaller工具
- pyinstaller打包Python成为EXE文件,简易教程
- 利用python的eval()函数实现控制台计算器,并使用pyinstaller打包exe
- pyinstaller 打包python3.6文件成exe 运行
- 使用pyinstaller工具打包python项目代码生成exe文件
- 用PyInstaller把Python代码打包成单个独立的exe可执行文件
- 11 Python pyinstaller--将Python程序打包成单独的exe可执行文件
- python程序打包成exe --Pyinstaller