簡體   English   中英

在python應用程序中導入Google Cloud Bigquery api模塊時出錯

[英]Error importing Google Cloud Bigquery api module in python app

我試圖from google.cloud import bigquery導入bigquery到我的python應用程序並使用dev_appserver.py在本地運行它,但是我收到一個錯誤:

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

我用pip安裝了bigquery lib:

pip install --upgrade google-cloud-bigquery

此外,我已嘗試將其作為3d方庫安裝到lib目錄中,但沒有結果。

雖然它在我嘗試從python shell導入bigquery lib時有效:

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

更新:

似乎安裝到project / lib /文件夾的“google”模塊與google-cloud-sdk / platform / google_appengine中的“google”模塊發生沖突。

當試圖做

from google.cloud import bigquery

python尋找google-cloud-sdk / platform / google_appengine / google里面的模塊不在project / lib / google / cloud里面

有任何想法嗎?

我遇到了完全相同的錯誤並通過刪除appengine sdk中的google文件夾來修復此問題,或者您可以嘗試將其復制到您的lib文件夾中。 這將解決本地開發環境中的問題,但您需要在生產時部署服務時還原此問題。

我找不到一個解決方法來保持google-cloud-sdk / platform / google_appengine / googleproject / lib / google / cloud 您需要刪除其中一個

您是否在appengine_config.py中添加了lib文件夾?

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

我有同樣的問題。 如果您在本地環境中運行此命令,則可能需要嘗試將lib文件夾位置添加到$ PYTHONPATH環境變量中,或者在導入bigquery lib之前添加下面的代碼行,該lib將lib文件夾位置插入到字符串列表中指定模塊的搜索路徑。

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

我相信這是有效的,因為現在python文件不需要在包內。

我認為你正在經歷一些非常接近我正在經歷的事情,盡管我在測試期間看到它。

我想這可能是因為google sdk所需的路徑操作:sdk附帶的lib 你放入libs文件夾之前會被看到。

這是我發生的事情,有一些細節:

Google Cloud SDK中針對google-auth的錯誤依賴關系?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM