假设我有两个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
中的钩子?我还没有想出来。
或者有没有办法删除已导入模块的缓存?