4

同じ python スクリプト内から同じライブラリ (easy_install --multi-version でインストール) の 2 つの異なるリリースを使用しようとしています。一般的な考え方を以下のコードに示します。

各バージョンを個別に呼び出すと、すべて問題ありません。あるバージョンを呼び出してから別のバージョンを呼び出したい場合、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()
4

1 に答える 1

0

reload(module)モジュールがすでにインポートされている場合に使用しようとしましたか?

リロード

于 2012-03-07T14:29:18.630 に答える