Как обрабатывать пакеты python с конфликтующими именами?
Я использую два пакета python с одинаковыми именами.
Существует ли канонический или питонский способ обработки установки двух пакетов с конфликтующими именами? До сих пор я только иногда нуждался в одном из пакетов во время разработки / сборки, поэтому я использовал отдельный virtualenv для решения конфликта, но это делает этап сборки более сложным, и я интересно, есть ли лучший способ справиться с этим?
2 ответа:
Вы можете использовать параметр --target для pip и установить его в другое место:
pip install --target=/tmp/test/lib/python3.6/site-packages/alt_alembic alembic
Затем, когда вы импортируете в python, сделайте первый, как обычно, и для alt выполните импорт из этого пространства имен следующим образом:
import alembic # alembic.io version from alt_alembic import alembic as alt_alembic # pip version
Затем, когда вы делаете звонки на этот номер, вы можете вызвать alt_alembic.функция () и к тому, что не находится в PyPi, перегонный куб.функция() Моя цель пути /tmp/и проверить, как я был с использованием виртуального окружения. Вам нужно будет заменить этот путь правильным для вашего установка python.
Как о абсолютные и относительные импорта.
Https://docs.python.org/2/whatsnew/2.5.html#pep-328-absolute-and-relative-imports