我环顾四周,但找不到我问题的明确答案。
我非常需要支持相同Python模块的N版本。
如果它们存储在同一个包/目录中,则必须进行唯一命名,如下例所示:
.../some/package/my_module_1.0.py
.../some/package/my_module_1.1.py
.../some/package/my_module_2.0.py
-- etc. --
反过来,每个人都会通过" 版本 "存储其版本号。属性。
然后,消费程序会导入所需的正确版本 (例如:import my_module_1.1)。
这是实现这种多模块版本需求的最佳(和最pythonic)方式吗?
谢谢!
答案 0 :(得分:2)
我做了一些谷歌搜索“烧瓶支持多个API版本”,并发现this stackoverflow帖子非常方便。
简而言之,该帖子中提出的唯一真正的差异与您提供的内容相比,它们为每个版本使用子目录,每个版本本身就是一个模块。
如果您能够/允许在版本之间共享通用功能/对象,则此结构可能使维护/管理模块变得更容易。
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