我正在尝试从相同的python脚本中使用同一库的两个不同版本(随easy_install --multi-version安装)。下面的代码说明了总体思路。

如果我分别调用每个版本,一切都很好。如果要先调用一个版本,然后再调用另一个版本,则会收到VersionConflict错误。

在加载另一个之前,必须有一种方法可以从工作集中“卸载”先前的发行版,但是我似乎总是迷路于阅读pkg_resources manual

谁能指出我正确的解决方法?非常感谢。

#!/usr/local/bin/python2.7
# -*- coding: utf-8 -*-
def test1():
    import pkg_resources
    pkg_resources.require('obspy.core==0.6.2')
    import obspy.core
    try:
        print obspy.core.__version__
    except:
       print "Can not read obspy.core version"
def test2():
    import pkg_resources
    pkg_resources.require('obspy.core==0.4.8')
    import obspy.core
    try:
        print obspy.core.__version__
    except:
        print "Can not read obspy.core version"
if __name__ == '__main__':
    test1()
    test2()

最佳答案

在已经导入模块的情况下,您是否尝试过使用reload(module)

Reload

关于python - python:运行时带有pkg_resources的多个库版本(pkg_resources.VersionConflict错误),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9600838/

10-12 20:07