@罗布的解决方案是有效的新版本,我已经研究过的代码:)。
如果你有一个旧的(像我1.4.5),您可以检查Python路径。如果路径中有默认的“site-packages”目录(例如/ usr/lib/python/site-packages),那么你的virtualenv被创建为和 site-packages。
您可以从类似检查出来:
for p in sys.path:
if p.find("site-packages") >= 0:
print p
如果你有--no-站点包,所有你的路会是这样:
/home/user/virtualenv/myenv/lib/python2.6/site-packages/distribute-0.6.10-py2.6.egg
/home/user/virtualenv/myenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg
/home/user/virtualenv/myenv/lib/python2.6/site-packages
否则,会有类似的东西:
/home/user/virtualenv/myenv/lib/python2.6/site-packages/distribute-0.6.10-py2.6.egg
/home/user/virtualenv/myenv/lib/python2.6/site-packages/pip-1.0.2-py2.6.egg
/home/user/virtualenv/myenv/lib/python2.6/site-packages
/usr/local/lib/python2.6/site-packages
只有当你有相同的模块安装在两地。你不能真正尝试同时导入两者(除非你改变python路径) – 2012-01-17 13:15:38
如果不是,你会得到一个'ImportError' - 取决于你得到它的位置,你知道它只安装在位置X. – ThiefMaster 2012-01-17 13:25:00
如果您在站点包中安装了模块,则为true。但是,你必须选择一个模块,你知道它在那里,实际上检查'ImportError' – 2012-01-17 15:09:28