如何部分编译 python 文件?

How can I partly compile a python file?

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

让我们看一个例子:

b.py中有def b()main.py中被调用,我怎么只编译main.py,因为我需要修改def b()中的[=] 12=] 之后。或者我可以单独编译它们吗?

我现在用的是pyinstaller,如果能实现的话可以换成其他的编译工具

谢谢

这样做是个坏主意:pyinstaller 用于打包和分发,而不是用于开发。打包文件并不意味着要更改。如果部分程序被修改,您应该发布整个包的新版本。如果你想做运行时间配置,那么你应该使用配置文件,而不是改变程序。

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

pyinstaller --exclude-module b main.py

这样 b 就不会与 main 捆绑在一起。如果您现在尝试 运行 捆绑包,则会显示 ModuleNotFoundError: No module named 'b'。将 b.py 复制到目录 (dist/main),运行 main,一切都会恢复正常。现在您可以更改 b.py,差异会在执行过程中显示出来。

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

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