Erro ao importar o módulo da API do Google Cloud Bigquery no aplicativo python

Estou tentando importar bigquery para meu aplicativo python from google.cloud import bigquery e executá-lo localmente com dev_appserver.py, mas recebo um erro:

 File "/Volumes/Budhi/Users/anjas/Projects/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) File "/Volumes/Budhi/Users/anjas/Projects/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler handler, path, err = LoadObject(self._handler) File "/Volumes/Budhi/Users/anjas/Projects/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject obj = __import__(path[0]) File "/Volumes/Budhi/Users/anjas/Projects/wordworks/urlworker/main.py", line 9, in  from google.cloud import bigquery File "/Volumes/Budhi/Users/anjas/Projects/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py", line 999, in load_module raise ImportError('No module named %s' % fullname) ImportError: No module named google.cloud.bigquery 

Eu instalei bigquery lib com pip:

 pip install --upgrade google-cloud-bigquery 

Também tentei instalá-lo como biblioteca de terceiros no diretório lib sem resultado.

Embora funcione quando tento importar o bigquery lib do shell python:

 Python 2.7.10 (default, Jul 30 2016, 18:31:42) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from google.cloud import bigquery >>> 

Atualizar:

Parece que o módulo “google” instalado na pasta project / lib / está em conflito com o módulo “google” no google-cloud-sdk / platform / google_appengine.

Ao tentar fazer

 from google.cloud import bigquery 

python procura o módulo dentro do google-cloud-sdk / plataforma / google_appengine / google não dentro do projeto / lib / google / cloud

Alguma ideia?

Você adicionou a pasta lib no appengine_config.py?

 from google.appengine.ext import vendor vendor.add('lib') 

Eu tive o mesmo problema. Se você estiver executando isso em seu ambiente local, você pode tentar adicionar o local da pasta lib em sua variável de ambiente $ PYTHONPATH ou adicionar linhas de código abaixo antes de importar o bigquery lib que insere o local da pasta lib na lista de strings que especifica o caminho de pesquisa para módulos.

 import sys sys.path.insert(0, 'lib') 

Eu acredito que isso funciona porque agora os arquivos python não precisam estar dentro de um pacote.

Eu acho que você está experimentando algo muito próximo do que eu estou experimentando, embora eu esteja vendo isso durante os testes.

Eu acho que pode ser por causa da manipulação de caminho necessária pelo google sdk: as bibliotecas enviadas com o sdk estão sendo vistas antes das que você está colocando na pasta libs.

Aqui está o que acontece comigo, com alguns detalhes:

Dependência errada no Google Cloud SDK para google-auth?