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下使用的主要内容,如果未能解决你的问题,请参考以下文章

Python3快速入门(十八)——PyInstaller打包发布

Python打包-Pyinstaller

Pyinstaller (python打包为exe文件)

PyInstaller 如何打包多个py文件?

使用PyInstaller打包Python程序

PyInstaller将python脚本打包成exe可执行程序