现有的django模块名称与新的pip包冲突

时间:2018-06-03 17:12:31

标签: python django python-2.7 pip pypi

我的django项目中已经有一个名为(让我们说) { "id": 707860, "name": "Hurzuf", "country": "UA", "coord": { "lon": 34.283333, "lat": 44.549999 } }, { "id": 519188, "name": "Novinki", "country": "RU", "coord": { "lon": 37.666668, "lat": 55.683334 } }, 的模块。现在进入项目几个月后,我遇到了一个新的pip包,它可能对我们正在考虑的一些新功能很有用。不幸的是,它在PyPI中注册为abcxyz也是 - 巧合,是吗?

通过abcxyz安装此新发现的软件包后,现在当我尝试使用pip install abcxyz导入软件包时,它最终会导入现有的import abcxyz模块(我已在我的模块中使用过) django项目几个月)而不是我刚刚安装的新软件包。

如何解决此问题?

我有没有办法在我的项目中以不同的名称安装PyPI包,因为我已经将该名称用于现有模块?

或者,

有没有办法明确指定我想在我的abcxyz语句中导入abcxyz(pip包)而不是abcxyz(django模块)?

1 个答案:

答案 0 :(得分:0)

您可以使用

from __future__ import absolute_import

然后您需要使用

导入本地包
from . import abcxyz

和带有

的pip安装包
import abcxyz