如何同时导入同一个python模块的两个版本?

2024-01-11

假设我有两个版本的 python 包,比如“lib”。一个在文件夹里~/version1/lib另一个是在~/version2/lib。我试图通过这样做在一个会话中加载这两个包:

sys.path.insert(0, '~/version1')
import lib as a

sys.path.insert(0, '~/version2')
import lib as b

但它不起作用,因为缓存,b将与以下相同a.

有办法做吗?也许使用钩子sys.meta_path?我没弄清楚。

或者是否有删除导入模块的缓存?


您必须从更高一级导入它:

import version1.my_lib as a
import version2.my_lib as b

还要确保在所有文件夹中都有一个__init__.py.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何同时导入同一个python模块的两个版本? 的相关文章

随机推荐