2016-11-30 33 views
2

我試圖導入的BigQuery到我的Python應用程序from google.cloud import bigquery與dev_appserver.py本地運行它,但我收到一個錯誤:錯誤導入谷歌雲BigQuery API進行模塊在Python應用程序

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 

我已經安裝的BigQuery與點的庫:

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

更新:

看來,安裝項目/ lib目錄/文件夾 「谷歌」 模塊與衝突「 google「模塊在google-cloud-sdk/platform/google_appengine中。

當試圖做

from google.cloud import bigquery 

Python將內部谷歌雲-SDK /平臺模塊/ google_appengine /谷歌內部沒有項目/ lib中/谷歌/雲

任何想法?

+1

沒有安裝存在於項目的根在你的lib文件夾中的圖書館嗎? –

+0

當然,我已經嘗試安裝一些其他庫像燒瓶,並沒有問題導入他們 –

+0

我有這個相同的問題。我所有其他安裝的供應商庫工作正常。 bigquery但是我不能導入本地或遠程。我已經遵循了我能找到的所有解決方案,但都沒有成功 – Halsafar

回答

0

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

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

是的,我做到了。我遇到了一些其他的東西,但是安裝lib/google的軟件包裏面沒有__init__.py,所以它沒有被識別爲軟件包。添加__init__.py不會解決任何問題。看起來像這個SDK是要在全球範圍內安裝的。但是我已經在全球安裝了它,但沒有結果。 –

0

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

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

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

+0

'vendor.add('lib')'基本上是'sys.path.insert()'的一個包裝。 –

0

我認爲你正在經歷的事情非常接近我所經歷的,儘管我在測試過程中看到它。

我認爲這可能是由於谷歌sdk所需的路徑操作:與sdk一起提供的庫正在之前你正在放在libs文件夾中。

這裏就是發生在我身上,有一些細節:

Wrong dependency in Google Cloud SDK for google-auth?

相關問題