имя существующего модуля django конфликтует с новым пакетом pip - PullRequest
0 голосов
/ 03 июня 2018

У меня уже был модуль внутри моего проекта django, который называется (скажем) abcxyz.Теперь, после нескольких месяцев в проекте, я наткнулся на новый пакет pip, который может быть полезен для некоторых новых функций, о которых мы думаем.К сожалению, он также зарегистрирован в PyPI как abcxyz - совпадение, да?

После установки этого нового найденного пакета через pip install abcxyz, теперь, когда я пытаюсь импортировать пакет с помощью import abcxyz, он заканчивается импортомсуществующий модуль abcxyz (который я уже месяцами использовал в своем проекте django), а не новый пакет, который я только что установил.

Как мне решить эту проблему?

Можно ли как-нибудь установить пакет PyPI под другим именем в моем проекте, так как у меня уже есть это имя, используемое для существующего модуля?

Или

Есть ли способ явно указать, что я хочу импортировать abcxyz (пакет pip), а не abcxyz (модуль django) в моем операторе import?

1 Ответ

0 голосов
/ 03 июня 2018

Вы можете использовать

from __future__ import absolute_import

, тогда вам нужно будет импортировать ваш локальный пакет с

from . import abcxyz

, а установленный в пипсах пакет с

import abcxyz
...