在Python中解析冲突的包名称

在Python中解析冲突的包名称,python,pythonpath,python-packaging,Python,Pythonpath,Python Packaging,假设我们有两个来自同一供应商的不同Python包,名称相同--foo。一个安装在pip中,可以在/usr/lib/python/site packages/foo目录中找到,第二个是系统范围的依赖项,您可以使用apt get安装,python包最终位于/usr/lib/some vendor sdk/foo中。本地和全局foo做不同的事情,我需要它们在我的源代码中都是可导入的,但我只能导入一个: $ python >>> import foo >>> foo.

假设我们有两个来自同一供应商的不同Python包,名称相同--
foo
。一个安装在
pip
中,可以在
/usr/lib/python/site packages/foo
目录中找到,第二个是系统范围的依赖项,您可以使用
apt get
安装,python包最终位于
/usr/lib/some vendor sdk/foo
中。本地和全局
foo
做不同的事情,我需要它们在我的源代码中都是可导入的,但我只能导入一个:

$ python
>>> import foo
>>> foo.__path__
/usr/lib/python2.7/site-packages/foo

有没有办法使这两个包在我的代码中都可以导入?不知何故,给其中一个加上别名也没关系,我只是不知道用什么技术方法。有什么建议吗?

这些包在内部使用绝对导入吗?也许,这个问题可以帮助您:您有两个不同的Python包,来自同一个供应商,名称相同,它们做不同的事情?拍打供应商哪一个是您的python版本?如何在python解释器中导入“系统范围”的
foo
包(通过apt安装的包)?它的父目录是否以某种方式被添加到
sys.path
?如果只安装了“系统范围”的,那么
foo.\uuuu路径\uuuu
的值是多少?