问题描述
我正在一个具有以下目录结构的项目
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和所有软件包。我可以简单地将src
,configs
和logs
复制粘贴到dist中,并可以轻松地与所有人共享。
但是问题是我不想在src
内共享python文件,因为它可以被任何人轻松访问。我想将其转换为二进制可执行文件,以便没有人可以将其转换或反编译回.py
文件。
为此,我可以使用自动生成的.pyc
文件,但我相信也可以将其反编译为py
。有什么办法可以将我转换成永远无法反编译的二进制文件。 pyinstaller是否这样做? pyinstaller中是否有可用的命令,该命令在转换app.py
时还将其余的python文件转换为可执行文件。请帮忙。谢谢
解决方法
如果要导入其他脚本,pyinstaller
将收集这些导入并自动包括它们。
您可以使用--onefile
来确保仅创建exe
进行分发。
pyinstaller --onefile app.py