如何编译排除某个模块的python文件?
让我们看一个例子:
{{1}中有def b()
中有b.py
,如何编译main.py
,因为我需要修改{{1}中的main.py
}之后。或者我可以分别编译它们?
我现在正在使用def b()
,但是如果它可以实现,我可以改用其他编译工具。
谢谢
答案 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]