Uso de dos bibliotecas de Python con nombres en conflicto

Quiero usar dos bibliotecas de Python (Google'sBiblioteca en la nube, y ellosSDK en la nube) en una sola aplicación, pero tienen nombres en conflicto (ambos usangoogle en sus nombres de importación base y no use importaciones relativas internamente). ¿Cómo puedo usarlos en una sola aplicación?

Cambiar el código de la biblioteca para usar importaciones relativas adecuadas no es práctico. Además, sé que puedo usar virtualenv para acceder a estas bibliotecas desde aplicaciones de Python separadas, pero ¿cómo puedo acceder a ellas desde la misma aplicación de Python?

Detalles del conflicto de nombres

Estos son algunos de los detalles sobre la importación. Cuando importo un módulo de la Biblioteca de la nube (ejecutoimport google.cloud.datastore), hay una excepción sobre otra importación dentro de esa biblioteca:

>>> 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

La biblioteca está intentando hacer una importación absoluta, en lugar de una relativa. La razón por la que Google Cloud Library no puede importargoogle.cloud.datastore.batch es porquegoogle ya está definido en el SDK, hay un conflicto de nombres:

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

Porque la biblioteca de la nube usa importaciones absolutas y el nombregoogle ya está definido en el SDK, entonces la importación falla.

Respuestas a la pregunta(1)

Su respuesta a la pregunta