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

问题描述

我正在一个具有以下目录结构的项目

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