首先我们要安装pip,命令如下:
使用的工具是 pyinstaller ,打开终端输入sudo pip install pyinstaller
2.打包程序
首先在打包之前检查一下我们的py文件是否可以正常执行,确认无误后进行打包 pyinstaller -F car_tkinter.py 或者 python3 -m PyInstaller -F main.py
3.执行文件
进入我们打包存放的文件夹,打开终端,执行语句 ./car_tkinter 或者 nohup ./car_tkinter>data.log &
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的名字
花费了将近一周的时间,才把rpm打包弄好.不能说已经了然于胸,但至少踩过了很多坑.接下来就顺顺在打包过程中的二三事.刚开始接到任务的时候,一脸懵逼.
作为专业的 JAVA Web 程序员,确定要让我干这么跨界的事情吗?之前自己虽然也安装过其他的rpm包,但我保证,我只是看说明书,跟着一路弄下来的.并且之后对它可是有多远躲多远的.不过考虑到自己的title,我知道那不应该是我关心的事情.那么问题来了,什么是rpm呢?
看到了rpm是什么,我们就来了解一下RPM相关的命令
本来准备直接 rpm -help 让大家看看相关参数的,但是考虑到内容太多,感兴趣的 自行点击 .这里放几个常用的命令.
至此,基本的rpm基础已经了解到了.那么关键的问题来了,如何制作RPM
把制作RPM,道上传闻有多种方式,我自己测过的有两种
注意:无论上述那种都需要 setup.py 及 setup.cfg 文件,描述相关的软件信息.
我自己使用的是第二种rpmbuild,
至此就可以欢快的进行打包了.执行
以上命令运行成功后会在当前用户目录下生成rpmbuild目录,该目录会包含以下子目录
--BUILD #编译之前,如解压包后存放的路径 --BUILDROOT #编译后存放的路径 --RPMS #打包完成后rpm包存放的路径 --SOURCES #源包所放置的路径 --SPECS #spec文档放置的路径 --SPRMS #源码rpm包放置的路径
安装成功后,即可直接执行相关命令了.
rpmbuild
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)