pyinstaller打包动态库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pyinstaller打包动态库相关的知识,希望对你有一定的参考价值。
参考技术A pyinstaller是一个很好的工具,可以把Python工程文件打包成可执行文件这样的好处很多,可以避免源码泄露,也方便用户阅读和管理
但是当程序集涉及到动态库的时候,常规操作无法将动态库自动打包到可执行文件中
举个例子,下图所示的程序集中有需要用到两个".so"的动态库
我们使用常规指令对该程序集进行打包
上述打包指令执行完成后,在当前文件夹会生产一个"disk"文件夹,里面有一个"main"的可执行文件
最终需要把下述三个文件同时放在一起,可执行文件"main"才能正常执行
现在的想法是,在pyinstaller打包过程中把两个".so"动态库也编译到可执行文件中
经过一番探索,这个想法是可以实现的,需要用到配置文件".spec"
配置文件中Analysis[binaries]专门用来放置动态库的位置,不过格式稍微有些特殊
大功告成
顺便提一句,如果有素材(图标、模型、文件等)需要打包,则直接把路径填写到Analysis[data]中即可
参考资料:
Pyinstaller 打包发布经验总结
Pyinstaller打包py文件简明教程
pyinstaller官方文档
Python第三方打包库——PyInstaller
(1).介绍
PyInstaller是Python的第三方打包库,它可以实现将.py扩展名的任何Python的源代码转换成Windows、Linux、Mac OS X下面的可执行文件。对于Windows来讲,PyInstaller可以将Python源代码变成.exe的可执行文件,这样就可以直接运行程序,而不需要安装Python解释器,也不需要对计算机进行相关的环境限制。
官网:http://www.pyinstaller.org/
安装第三方库需要使用pip工具,在命令行下运行安装命令(不是IDLE)。注意:需要将Python目录和其下的Scripts目录加到环境变量中。
使用命令pip install pyinstaller安装第三方库,安装之后会提示successfully installed,告知是否安装成功。
(2)使用说明
在PyInstaller安装完成后,会在Python目录下额Scripts目录下生成运行文件。此时在命令行下使用Pyinstaller -F <.py文件地址>命令就可以打包程序。
例如:在Windows下运行
C:\\Users\\Administrator>PyInstaller -F C:\\Users\\Administrator\\Desktop\\hello_world.py
PyInstaller运行完成后会产生文件夹,在文件夹中就有.exe文件。
(3).常用选项
选项 | 描述 |
-h | 查看帮助 |
--clean | 清理打包过程中产生的临时文件 |
-D,--onedir |
指定创建包含可执行文件的文件夹dist(文件夹在什么位置需要注意看提示信息) |
-F,--onefile | 在文件夹dist中只生成独立的打包文件,这个文件可以完整的实现.py文件源代码的相同功能 |
-i <图表文件名.ico> | 指定打包文件使用的图标(.ico) |
打包完成后,除了用于存放.exe文件的dist文件夹,另外两个存放临时文件的文件夹均可手动删除。
打包后程序就可以在相同系统上运行,不需要安装PyInstaller,也不需要Python。
以上是关于pyinstaller打包动态库的主要内容,如果未能解决你的问题,请参考以下文章
《PyInstaller打包实战指南》第二十二节 单文件模式打包Playwright