如何使用 PyInstaller 将 python 脚本转换为二进制可执行文件

How to convert python scripts to binary executable using PyInstaller

我正在做一个目录结构如下的项目

MyPythonProject
    -> configs
        -> appconfig.json
    -> logs
        -> app.log
    -> src
        -> file1.py
        -> file2.py
        -> file3.py 
    app.py

app.py是主要的可执行文件,它也依赖于src内的python个文件。我想将 app.py 转换为 app.exe,我可以使用 pyinstaller app.py 轻松完成。这将创建一个 dist 文件夹,其中包含 python 和所有包。我可以简单地将 srcconfigslogs 复制粘贴到 dist 中,并可以轻松地与大家分享。

但问题是我不想按原样共享 src 中的 python 文件,因为任何人都可以轻松访问它。我想将它转换成二进制可执行文件,这样就没有人可以转换或反编译回 .py 文件。

为此,我可以使用自动生成的 .pyc 文件,但我相信这也可以反编译回 py。有什么方法可以转换成某种永远无法反编译的二进制文件。 pyinstaller 会这样做吗? pyinstaller 中是否有任何可用的命令,在转换 app.py 时还将其余的 python 文件转换为可执行文件。请帮忙。谢谢

如果您要导入其他脚本,pyinstaller 将收集这些导入并自动包含它们。

您可以使用 --onefile 来确保只创建 exe 用于分发。

pyinstaller --onefile app.py