我环顾四周,但找不到我的问题的明确答案。
我非常合理地需要支持同一 Python 模块的 N 个版本。
如果它们存储在同一个包/目录中,则它们必须具有唯一的名称,如下例所示:
.../some/package/my_module_1.0.py
.../some/package/my_module_1.1.py
.../some/package/my_module_2.0.py
-- etc. --
每个人都会依次通过“version“ 属性。
然后使用程序导入它需要的正确版本
(例如:导入 my_module_1.1)。
这是完成这个多模块版本需求的最佳(也是最Pythonic)方法吗?
谢谢你!
我用谷歌搜索了“flask 支持多个 API 版本”,发现this https://stackoverflow.com/questions/28795561/support-multiple-api-versions-in-flaskstackoverflow 的帖子非常方便。
简而言之,该帖子中建议的与您提供的唯一真正区别是它们为每个版本使用子目录,并且每个版本本身就是一个模块。
如果您能够/允许在版本之间共享通用函数/对象,那么这种结构可能会使维护/管理您的模块变得更容易。
some_package
+--- my_module/
+--- v1_0/
+--- __init__.py
+--- some_file.py
+--- v2_0/
+--- __init__.py
+--- some_file.py
+--- __init__.py
+--- common_stuff.py
但是,如果您无法在版本之间共享内容,那么您当前的想法就可以正常工作,并且更简单。
然后你可以像这样导入它:
import my_module.vX_Y as my_module
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)