导航:首页 > 操作系统 > pyinstallerlinux打包

pyinstallerlinux打包

发布时间:2023-06-02 00:33:28

A. 使用PyInstaller打包python程序

PyInstaller是一个用来将Python程序打包成独立可执行软件的工具,支持 Windows、linux 和 Mac OS X。生成的可执行软件在没有Python的环境中可以直接运行,方便软件分发,进一步降低使用成本,提升使用效率。

下面演示如何使用 PyInstaller 将程序打包成Windows下的exe软件。

使用pip的方式进行安装,这样可以自动安装其他依赖库。

如果pip还未安装,请参考我的另一篇文章《 Python pip包管理工具 》

在cmd命令行控制台或者VS Code内置的终端输入命令行生成应用,首先将当前路径切换到Python程序所在的路径(如下示例的SubOcr.py文件在python文件夹下的SubOcr文件夹内),然后输入生成应用的命令。

命令执行成功后在 I:workpythonSubOcrdist 文件夹下生成了SubOcr文件夹,里面包含了SubOcr.exe文件。整个SubOcr文件夹就是一个绿色软件,随便移动到任何位置都可运行。

实际上在用pyinstaller命令时会在Python程序的所在路径生成一个后缀为spec的同名文件,然后根据此文件的配置生成应用,这就是PyInstaller的原理。这样做的好处是spec保存了生成应用的配置,每次重新生成应用时可以省略指定参数,尤其是指定了其他的资源、程序库时。我们可以通过以下命令先生成spec文件。

pyi-makespec的命令参数跟pyinstaller的相同,在生成spec文件后可以对其部分选项进行编辑(可以用VS Code或自带的记事本编辑),添加更多参数,然后再用pyinstaller命令生成应用。

spec文件的主要选项:

上面示例的SubOcr用到了opencc和opencv-python,其中opencc下的数据文件和opencv-python下的dll文件在生成应用时不会自动导入(缺少这些文件应用无法正常使用),因此需要在spec文件中指定路径。对spec文件的修改如下:

以上便是PyInstaller打包Python程序的全过程,如果在此过程中遇到问题,可以在评论区留言,定当知无不言,言无不尽。

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

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 &

C. linux系统下,如何将python文件封装成exe可执行文件

Python程序是标准的文本文件,由Python解释执行,不可能封装成可执行文件,只能以文本方式发布,造成不能版权保护,这是Python的一个弱点。

D. Linux下,Python项目包含多个模块以及图片包,跪问如何用pyinstaller将其打包在一起

python的模块,pyinstall会自动编译为字节码然后一起打包。
至于另外的图片等资源文件,需要自行书写打包配置文件spec。

先用pyinstaller 的 --onefile 选项自动生成一个spec文件,
然后修改这个spec文件案,如要加入图片等附属文件,
要加入到datas中,格式如下:
datas += [("软件包内的相对路径/file.name","/实际路径/file.name","DATA")]

文件列表也可以用Tree生成。Tree("/实际路径/file.name”, prefix = “软件包内的相对路径”)
下面是一个spec文件的例子
a = Analysis(["/tmp/start.py"],
pathex=["/tmp"],
hiddenimports=[],
hookspath=None,
runtime_hooks=None
dict_tree = Tree("/tmp/pic", prefix = "pic")
a.datas += dict_tree
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name="test",
debug=False,
strip=None,
console=False )

E. 如何将python code 打包成linux系统下可执行

pyinstaller -w --onefile xx.py -n xx

不过我是mac下打的app包是这样


UnicodeEncodeError是小问题 可以试试

  1. 头加utf8识别

  2. import sys

sys.reload()

sys.defaultencoding('utf8') 不知道拼错没

3.print u’中文’ 这样是可以的。会转成unicode编码 如果这样也是有问题 那么按照前两个操作就可以了 是因为你文件的编码不对

阅读全文

与pyinstallerlinux打包相关的资料

热点内容
魅族访客文件夹 浏览:48
添加的文件夹怎么找 浏览:613
程序员涉黄 浏览:698
maven编译resources下的js 浏览:519
ubuntu文件移动命令 浏览:227
安卓i怎么查找苹果手机 浏览:949
云服务器宕机概率 浏览:229
在线买药用什么app知乎 浏览:813
ubuntu解压xz文件 浏览:674
宏杰加密时电脑关机 浏览:388
自己写单片机编译器 浏览:598
单片机按键闪烁 浏览:380
为什么icloud总是显连接服务器失败 浏览:888
如何设置域控服务器 浏览:738
想在上海租房子什么app好 浏览:185
编译程序各部分是必不可少的吗 浏览:886
编程不超过十行 浏览:764
数电编译器的作用 浏览:338
时间算法与现在有什么区别 浏览:164
7zip解压后没文件夹 浏览:904