我计划使用多个包(内部和外部)开发一个中等规模的 Web 应用程序(有很多后端工作),因为这是我第一次体验这种规模,我可以得到一些建议:
- 如何确保满足所有依赖项(没有缺少所需的包/模块,从正确的位置导入包等)
- 如何管理包/模块的版本。我希望能够在其他连接的包/模块中以最少的代码更改引入新版本的包/模块。
请让我知道是否有可以对此有所帮助的工具。如果在以这种规模管理代码时遇到任何其他挑战(我什至可能不知道),请提醒我并提供解决方法。
我目前所知道的(并认为它可能有助于代码管理):
__all__
定义可导出的模块。- 使用前面的单下划线来防止模块被导入
__init__.py
在包级别管理导入(所以当我这样做时import package_name
可以__init__.py
集中控制其他导入)- PEP 328 用于管理相关导入、importlib 和其他与导入相关的内容。
- 我想一些 3rd 方包也定义
__version__
或VERSION
变量以在运行时检查版本,但我不确定我是否可以依赖它。
如果有书籍、博客等可以提供帮助,请告诉我。
编辑:我不确定这种类型的问题是否适合这里。如果没有,那么我道歉。