将Python程序打包成linux可执行文件

将Python程序打包成linux可执行文件,第1张

1.安装环境

首先我们要安装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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7467021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存