如何编译排除某个模块的python文件?
让我们来看一个例子:
在def b()in b.py中main.py,我该如何编译main.py,因为我需要def b()在b.py之后进行修改。或者我可以分别编译它们?
我现在正在使用pyinstaller,但如果可以实现此目的,则可以更改为其他编译工具。
谢谢
这样做是一个坏主意:pyinstaller用于打包和分发,而不是用于开发。打包文件并不意味着要更改。如果程序的一部分被修改,则应发布整个程序包的新版本。如果要进行运行时配置,则应使用配置文件,而不要更改程序。
但是,如果您坚持要这样做,则可以使用该--exclude-module标志。跑
pyinstaller --exclude-module b main.py
这样b就不会与main捆绑在一起。如果您现在尝试运行捆绑的软件包,ModuleNotFoundError: No module named 'b'将显示a。复制b.py到目录(dist/main),运行main,一切都会恢复。现在您可以更改b.py,并且差异将在执行期间显示。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。