【问题标题】:Package name conflict between `emoji` and `django-emoji``emoji` 和 `django-emoji` 之间的包名冲突
【发布时间】:2017-01-27 15:44:15
【问题描述】:

我需要在单个 Django 项目中使用 django-emojiemoji 库。两者都是通过 pip 安装的。这两个库都是从名为 emoji 的包中导入的:

django-emoji导入时:

from emoji import Emoji

emoji导入时:

from emoji.core import get_emoji_regexp

知道如何重命名库安装到的包,但仍然通过pip 安装它吗?

【问题讨论】:

  • stackoverflow.com/questions/5937739/python-module-name-conflict 的副本。不幸的是那里没有真正的答案。
  • 我问了这个问题后,发现那里没有答案。这是否意味着没有答案?这将是 python 工具中的一个可悲的漏洞。
  • 那么您使用的是哪个 Python 版本?
  • 我使用的是 python 2.7.12。
  • 到目前为止,我看到没有办法做到这一点。理论上,PyPI 上的包应该安装到唯一的顶级目录中。这在某些情况下是违反的。解决方案是修改其中一个有冲突的包或向pip 添加一个选项以支持覆盖。

标签: python pip


【解决方案1】:
import emoji as django_emoji
django_emoji.Emoji

那不行,还是我错过了什么?

【讨论】:

  • 这不起作用,因为我在django-emoji 之后安装了emoji 软件包。现在,当我尝试从emoji 导入时,它只看到emoji 包。 django-emoji 实际上是不可见的。在我将包导入我的代码后,我对最终调用的包没有任何问题。问题是 python 导入机制无法访问这两个包,因为它们都被称为emoji
猜你喜欢
  • 2021-08-16
  • 1970-01-01
  • 1970-01-01
  • 2018-11-16
  • 2014-08-30
  • 2021-10-04
  • 2020-08-08
  • 1970-01-01
  • 2016-07-13
相关资源
最近更新 更多