Python 与 Packages(四):PyInstaller库
PyInstaller库(第三方库)
PyInstaller 将 Python 应用程序及其所有依赖项捆绑到一个包中。用户可以在不安装 Python 解释器或任何模块的情况下运行打包的应用程序。
PyInstaller 支持 Python 3.7 及更新版本,并正确地捆绑了许多主要的 Python 包,如 numpy、matplotlib、PyQt、wxPython 等。
PyInstaller 在 Windows、MacOS X 和 Linux 上进行了测试。
常用参数:
-h , --help |
显示帮助消息 |
---|---|
--clean |
清理 Py 安装程序缓存并删除临时文件。 |
-D , --onedir |
创建包含可执行文件的文件夹(默认) |
-F , --onefile |
创建一个文件捆绑的可执行文件(单个程序)。 |
-i <FILE.ico> |
将图标应用于可执行文件 |
Tips
pyinstaller 库-帮助文档
递归函数应用 I:绘制 n 阶科赫曲线
递归函数:
# 绘制n阶科赫曲线 def koch(lenth,n): if n == 0: t.pencolor(r.choice(str)) t.fd(lenth) else: for i in [0,60,-120,60]: t.left(i) koch(lenth/3,n-1)
源代码:
import turtle as t import random as r str = ["LightSkyBlue","DeepSkyBlue","Cyan","Turquoise"] # 绘制n阶科赫曲线 def koch(lenth,n): if n == 0: t.pencolor(r.choice(str)) t.fd(lenth) else: for i in [0,60,-120,60]: t.left(i) koch(lenth/3,n-1) def main(): level = 4 lenth = 450 t.setup(800,600) t.pu() t.goto(-225,125) t.pd() t.width(2) t.speed(10) # 科赫雪花 for i in range(3): koch(lenth,level) t.right(120) t.hideturtle() t.done() # 执行 main()
运行结果:
递归函数应用 II:汉诺塔
源代码:
step = 0 # 把N个盘子从src搬到des,mid作为辅助 def hanoi(src, des, mid, N): global step # 声明step使用全局变量 if N == 1: # 基例 step += 1 print("step{:>3}: {} {}->{}".format(step,1,src,des)) # 直接从src搬到des else: hanoi(src,mid,des,N-1) # 先把N-1个从src搬到mid,des作为辅助 step += 1 print("step{:>3}: {} {}->{}".format(step,N,src,des)) # 然后把第N个从src搬到des hanoi(mid,des,src,N-1) # 再把N-1个从mid搬到des,src作为辅助 # 执行 hanoi('A','C','B',3)
输出结果:
step 1: 1 A->C step 2: 2 A->B step 3: 1 C->B step 4: 3 A->C step 5: 1 B->A step 6: 2 B->C step 7: 1 A->C
Python 与 Packages(四):PyInstaller库
https://luminous-ee.github.io/2023/01/25/Python-与-Packages(四):PyInstaller库/