如何部分编译 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]
如何编译一个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]