Python:如果安装了同一个包的多个egg版本,如何具体导入我需要的版本?
Posted
技术标签:
【中文标题】Python:如果安装了同一个包的多个egg版本,如何具体导入我需要的版本?【英文标题】:Python: If there are multiple egg versions of the same package installed, how do I import specifically the version I need? 【发布时间】:2011-07-13 01:13:56 【问题描述】:例如,FooPackage-1.1 和 FooPackage-1.2 都作为鸡蛋安装在 dist-packages 中。如何导入我需要的?
【问题讨论】:
【参考方案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'))
以上是关于Python:如果安装了同一个包的多个egg版本,如何具体导入我需要的版本?的主要内容,如果未能解决你的问题,请参考以下文章