如何部分编译python文件?

时间:2019-07-03 15:56:47

标签: linux compilation pyinstaller python-3.7 source-code-protection

如何编译排除某个模块的python文件?

让我们看一个例子:

{{1}中有def b()中有b.py,如何编译main.py,因为我需要修改{{1}中的main.py }之后。或者我可以分别编译它们?

我现在正在使用def b(),但是如果它可以实现,我可以改用其他编译工具。

谢谢

2 个答案:

答案 0 :(得分:0)

这样做不是一个好主意:pyinstaller用于打包和分发,而不是用于开发。打包文件并不意味着要更改。如果程序的一部分被修改,则应发布整个程序包的新版本。如果要进行运行时配置,则应使用配置文件,而不要更改程序。

但是,如果您坚持要这样做,则可以使用--exclude-module标志。运行

pyinstaller --exclude-module b main.py

,以使b不与main捆绑在一起。如果您现在尝试运行捆绑的软件包,将显示ModuleNotFoundError: No module named 'b'。将b.py复制到目录(dist/main),运行main,一切将再次起作用。现在您可以更改b.py,执行过程中会显示出差异。

答案 1 :(得分:0)

对于.py文件的单个.exe文件输出:

python -m pip install pyinstaller
pyinstaller -D -F --debug [.py file path]