【问题标题】:Python: If there are multiple egg versions of the same package installed, how do I import specifically the version I need?Python:如果安装了同一个包的多个egg版本,如何具体导入我需要的版本?
【发布时间】:2011-07-13 01:13:56
【问题描述】:

例如,FooPackage-1.1 和 FooPackage-1.2 都作为鸡蛋安装在 dist-packages 中。如何导入我需要的?

【问题讨论】:

    标签: python setuptools distutils egg


    【解决方案1】:

    您可以在导入时使用pkg_resources 指定您的要求:

    import pkg_resources
    pkg_resources.require('FooPackage==1.2')
    import FooPackage
    

    例如:

    % easy_install simplejson==2.1.3
    % easy_install simplejson==2.1.2
    
    pkg_resources.require('simplejson==2.1.2')
    import simplejson
    assert simplejson.__version__ == '2.1.2'
    

    【讨论】:

    • +1,很好的答案:) 除了答案。如果你总是想确保你有正确的版本,试着用你自己的包使用 virtualenv。
    • 对我不起作用;我遇到了版本冲突:pkg_resources.VersionConflict: (SQLAlchemy 1.1.0b1.dev0 (/.virtual/lib/python2.7/site-packages/SQLAlchemy-1.1.0b1.dev0-py2.7-linux-x86_64.egg), Requirement.parse('sqlalchemy==0.8.7'))
    猜你喜欢
    • 2020-05-20
    • 2014-10-30
    • 2013-05-24
    • 1970-01-01
    • 2012-02-13
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多