【发布时间】:2021-01-03 07:30:17
【问题描述】:
我有一个使用 pyinstaller 创建的 Python 软件。我使用 pyinstaller 创建了一个 60 MB 的可执行文件,其中包含我所有的模块依赖项。
我已经使用了 pyinstaller 代码:
pyinstaller --noconfirm --onefile --windowed file.py
我打算向我认识的很多人发布这个软件的测试版。我知道如果我创建一个包含脚本的目录,人们可以提取源代码,但是如果它只是一个 .exe 文件,那么有人仍然可以从可执行文件中提取源代码吗?
我已经研究过在创建可执行文件之前使用 pyarmor 并混淆我的代码,但是当我想将所有内容编译成单个 exe 文件时,这需要发送某种文件夹。
【问题讨论】:
-
pyinstaller 不会将 python 编译为机器代码(如 C/C++),但它只会使用 python 解释器、模块和您在
.pyc文件中的代码创建自解压 .zip 文件。当您运行此 .exe 时,它会创建临时文件夹、提取文件并运行您的脚本。然后你甚至可以找到这个文件夹并获取所有提取的文件。你可以阅读更多How the One-File Program Works
标签: python python-3.x pyinstaller exe executable