2024 桐庐半程马拉松
00:00:00
时间
0.00
距离(公里)
--:--
配速
--
步频
--
心率 (bpm)
--
配速
步频
|
share-image
ESC

打包python源码为二进制文件

我们都知道 python 是一门脚本解释性语言,不像 C 语言需要编译执行,有时候,我们需要把自己写好的脚本发给其他人使用,但是对方如果需要执行脚本则首先需要安装环境,安装对应的库,非常麻烦,那么我们能不能把脚本打包成一个二进制文件,其他人直接执行就可以呢?答案是当然可以了。使用 pyinstaller 可以非常轻松的发布你的程序。

原理

PyInstaller 其实就是把 python 解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装 python 和你的脚本依赖的库。在 Linux 操作系统下,它主要用的 binutil 工具包里面的 ldd 和 objdump 命令。

安装 pyinstaller

pip install pyinstaller

编译成二进制文件

pyinstaller -F mycript.py

示例:

有一个 python 脚本,内容就是输出一行hello world。


➜ testbin python hello.py
hello world

执行

pyinstaller -F hello.py

在当前目录下会有一个dist目录,里面的就是可执行文件

 ➜  testbin ls
build dist hello.py hello.spec
➜ testbin cd dist
➜ dist ls
hello
➜ dist ./hello
hello world

注意:只能在和打包机器系统同样的环境下,不同平台需要单独移植,也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。

文章作者:阿文
文章链接: https://www.awen.me/post/9208.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿文的博客
本文于 2017-10-26 发布,已超过半年(3017天),请注意甄别内容是否已过期。