Установите два модуля Python с одинаковым именем

Как лучше всего установить два модуля Python с одинаковым именем? В настоящее время я использую две разные библиотеки facebook: pyfacebook и новый python-sdk от Facebook. Обе эти библиотеки устанавливают себя как модуль «facebook». Я могу придумать кучу хакерских решений, но прежде чем я уйду, мне было любопытно, есть ли питонический способ справиться с этой ситуацией.

Я использую virtualenv и pip.

(Да, в конечном итоге я откажусь от одного из них, но у меня было два разных инженера, работавших над двумя разными проблемами, и они не осознавали, что используют другой модуль до интеграции)


person guidoism    schedule 09.09.2010    source источник
comment
Я думаю, что это проблема апстрима, т.е. было бы неплохо сообщить о конфликте обеим командам и позволить им договориться о переименовании одного из модулей.   -  person Éric Araujo    schedule 06.01.2012


Ответы (2)


Во-первых, я бы посоветовал вам, ребята, просмотреть, какие другие библиотеки вы все используете, чтобы вы могли прийти к единому мнению о том, как вы создаете свое приложение.

Чтобы поддерживать этот тип вещей, поместите каждый модуль в свою собственную папку, поместите в файл __init__.py, затем вы можете сделать это:

import Folder1.facebook as pyfacebook
import Folder2.facebook as facebooksdk
person wheaties    schedule 09.09.2010

Самым простым решением было бы включить один (или оба) модуля в ваш проект вместо его установки. Затем вы можете лучше контролировать имя модуля и импорт.

person Bob    schedule 09.09.2010