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

How to import two versions of the same python module at the same time?(如何同时导入同一个python模块的两个版本?)

本文介绍了如何同时导入同一个python模块的两个版本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有两个版本的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中使用钩子?我没弄明白。

还是一定要删除导入模块的缓存?

推荐答案

  • 可以考虑使用python virtual environment。
  • 激活所需的环境并在那里运行代码。

这篇关于如何同时导入同一个python模块的两个版本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何同时导入同一个python模块的两个版本?