python打包pyinstaller支持window和linux下使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python打包pyinstaller支持window和linux下使用相关的知识,希望对你有一定的参考价值。
参考技术A Python项目打包发布方法安装目标:
报错内容:
解决方法:
运行--->cmd
Successfully installed pip-20.0.2
接下来又报错了 pip install pyinstaller 报错内容: time out
安装pyinstaller之前首先必须有pip,如果还没有安装,请用度娘搜索“python安装pip”,资源丰富,在此不再介绍,使用pip安装pyinstaller的命令如下:
命令执行的截图如下,直至安装完毕,我仅截取了前面部分打印信息。
使用加F参数打包成一个exe文件的操作截图如下:
使用“F”强制打包参数,有时会导致软件功能运行不正常,仅限于小的范例使用,如果项目有多个py文件,则建议别再使用“F”参数。
如果项目有多个文件,打包时可以把多个文件列出来,中间用空格隔开即可。
如果需要修改默认图标为指定图标,则使用“-i 图标文件名”来实现。
如下为使用多个py文件和图标的打包截图。
打包报错 可以看下这个文章
注意Cygwin的strip可能使普通的win32 Dll无法使用
-X –upx 如果有UPX安装(执行Configure.py时检测),则会压缩执行文件(Windows系统中的DLL也会)
-o| DIR| –out=DIR | 指定spec文件的生成目录,如果没有指定,而且当前目录是PyInstaller的根目录,会自动创建一个用于输出(spec和生成的可执行文件)的目录.如果没有指定,而当前目录不是PyInstaller的根目录,则会输出到当前的目录下。
设置导入路径(和使用PYTHONPATH效果相似)。
可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源
-i <FILE.ICO> –icon=<FILE.ICO> 将file.ico添加为可执行文件的资源(只对Windows系统有效),改变程序的图标 pyinstaller -i ico路径 xxxxx.py
–i <FILE.EXE, N> –icon=<FILE.EXE, N>
将file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效)
-v FILE –version=FILE 将verfile作为可执行文件的版本资源(只对Windows系统有效)
-n NAME –name=NAME
可选的项目(产生的spec的)名字.如果省略,第一个脚本的主文件名将作为spec的名字
python pyinstaller安装
需求分析:
python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速。
当然打包的脚本似乎不是在所有的win平台下都能使用,win7有一部分不能使用,我在win10能够很好的运行。
准备:
pyinstaller(http://www.pyinstaller.org/) 首先还是去官网看支持的python版本,不然会很尴尬的
安装方法1:
安装pyinstaller和pywin32
使用一下命令将自动安装两个包,在cmd用pip命令
pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
安装方法二:
pip install pyinstaller (会自动下载future,pywin32,pyinstaller)
如何使用Pyinstaller
方法一:
1.cmd到/python/scripts 找到pyinstaller.exe
2.输入命令
1
|
pyinstaller.exe -F path:demo.py |
方法二:
1.进入pyinstaller的解压包,输入命令
2."python pyinstaller.py -F path:demo.py"
从cmd最后一行输出可查找到生成的文件
12468 INFO: Appending archive to EXE D:DocumentsDownloadsPyInstaller-3.2down
loaddistdownload.exe
后记:
1.程序设置自定义图标:pyinstaller -F -i ico_path py_path
首先需要下载一张正常的ico,不能用直接修改后缀的。
下载图片: https://www.easyicon.net
图片改为ico: http://www.ico.la/
输入命令 pyinstaller -F -i "demo.ico" "main.py"
2.报错提示:
pyinstaller -F -i "demo.ico" "main.py" 命令格式一定是先图标路径,再程序路径。
路径最好为英文,没有中文字符;脚本名称里没有特殊字符如 .
使用utf8编码
图标文件必须是正常格式,不能直接更改后缀。
tuble index out of range ---》pyinstaller版本尚未支持python的版本
3.窗口程序
使用 pyinstaller -F -w -i ico_path py_path ,这样脚本不会弹出命令窗,前提是用了GUI库.
4.导入模块问题
pyinstaller -F -w -i --hidden-import queue ico_path py_path 加上选项
以上是关于python打包pyinstaller支持window和linux下使用的主要内容,如果未能解决你的问题,请参考以下文章