欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Python】 —— pyinstaller 打包多个 py 文件为一个 exe

程序员文章站 2024-02-06 23:47:28
...

核心语句:

pyinstaller -F main.py -p py_dir

安装pyinstaller

pip install pyinstaller

 

详细描述:

test 目录下有三个 py 文件,分别为 cmmd.py、hello.py、test2/word.py,

依赖关系如下(A>B 表示 A 依赖于 B,或者说 A 中从 B 中 import 一些内容)

cmmd.py > hello.py > word.py

【Python】 —— pyinstaller 打包多个 py 文件为一个 exe

 

# cmmd.py
# -*- coding: utf-8 -*-
 
from time import sleep
 
from hello import show
 
 
def main():
    count = 1
 
    while count <= 5:
        show(count)
        sleep(1)
        count += 1
    print("Bye!")
    
 
if __name__ == "__main__":
    main()

 

# hello.py
# -*- coding: utf-8 -*-
 
from test2.word import what
 
 
def show(nbr):
    res = "[ No.{} | Test: {}.]".format(nbr, what())
    print(res)
# word.py
# -*- coding: utf-8 -*-
 
 
def what():
    return "Hello, Python"

 

通过依赖关系可以知道,cmmd.py 是主程序,即入口,

所以,在test目录下运行打包命令:

 

# -F 打包成一个 exe
# -p 相关的文件的路径,即所需的其他文件所在目录,
# 可以用路径分隔符指定多个路径,windows用分号';',linux用冒号':'
# 这里是在test目录下运行的命令,所以 -p 后边跟的是 相对路径 test2
# -p 前边写的是主入口程序的路径,这里写的相对路径 cmmd.py
pyinstaller -F cmmd.py -p test2

打包的过程的关键信息

【Python】 —— pyinstaller 打包多个 py 文件为一个 exe

可见,之前添加的 -p test2,被添加到了PYTHONPATH 中。

打包后的 exe 运行结果

【Python】 —— pyinstaller 打包多个 py 文件为一个 exe

The end.