Использование двух библиотек Python с конфликтующими именами

Я хочу использовать две библиотеки Python (Google'sОблачная библиотека, и ихCloud SDK) в одном приложении, но у них есть конфликтующие имена (они оба используютgoogle в их именах импорта базы и не использовать относительный импорт внутри страны). Как я могу использовать их в одном приложении?

Изменение кода библиотеки для использования правильного относительного импорта нецелесообразно. Кроме того, я знаю, что могу использовать virtualenv для доступа к этим библиотекам из отдельных приложений Python, но как мне получить к ним доступ из одного и того же приложения Python?

Детали конфликта имен

Вот некоторые подробности об импорте. Когда я импортирую модуль из Облачной библиотеки (я запускаюimport google.cloud.datastore), существует исключение относительно другого импорта в этой библиотеке:

>>> import libs.google.cloud.datastore
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "C:\[ProjectDIR]\libs\google\cloud\datastore\__init__.py", line 52, in <module>
    from google.cloud.datastore.batch import Batch
ImportError: No module named cloud.datastore.batch

Библиотека пытается сделать абсолютный импорт, а не относительный. Причина, по которой Google Cloud Library не может импортироватьgoogle.cloud.datastore.batch это потому чтоgoogle уже определено в SDK, существует конфликт имен:

>>> print google.__path__
['C:\\Program Files (x86)\\Google\\Cloud SDK\\google-cloud-sdk\\platform\\google_appengine\\google']

Потому что облачная библиотека использует абсолютный импорт, а имяgoogle уже определен в SDK, тогда импорт завершится неудачно.

Ответы на вопрос(1)

Ваш ответ на вопрос