Python: несколько версий библиотеки во время выполнения с pkg_resources (ошибка pkg_resources.VersionConflict) - PullRequest
2 голосов
/ 07 марта 2012

Я пытаюсь использовать два разных выпуска одной и той же библиотеки (установленной с easy_install --multi-version) из одного и того же скрипта Python.Общая идея проиллюстрирована в приведенном ниже коде.

Если я вызываю каждую версию независимо, все в порядке.Если я хочу вызвать одну версию, а затем другую, я получаю ошибку VersionConflict.

Должен быть способ "выгрузить" предыдущий дистрибутив из рабочего набора перед загрузкой другого, но мне кажется, что всегдазаблудиться, читая руководство pkg_resources .

Может кто-нибудь указать мне правильный путь, чтобы пойти по этому поводу?Большое спасибо.

#!/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()

1 Ответ

0 голосов
/ 07 марта 2012

Вы пытались использовать reload(module) в тех случаях, когда модуль уже импортирован?

Reload

...