2017-10-10 77 views
0

我正試圖在谷歌雲上部署瓶子應用程序。儘管遵循了他們的指示,但每當我啓動dev服務器時,都無法找到給定的庫vendor.add('lib')。如何解決這個問題?Google App Engine無法從appengine_config中找到lib

sudo /google-cloud-sdk/bin/dev_appserver.py app.yaml > file 
INFO  2017-10-10 20:20:04,276 devappserver2.py:115] Skipping SDK update check. 
INFO  2017-10-10 20:20:04,338 api_server.py:299] Starting API server at: http://localhost:53496 
WARNING 2017-10-10 20:20:04,338 dispatcher.py:285] Your python27 micro version is below 2.7.12, our current production version. 
INFO  2017-10-10 20:20:04,343 dispatcher.py:224] Starting module "default" running at: http://localhost:8080 
INFO  2017-10-10 20:20:04,345 admin_server.py:116] Starting admin server at: http://localhost:8000 
/deploy_10oct/lib 
ERROR 2017-10-10 20:20:11,913 wsgi.py:263] 
Traceback (most recent call last): 
    File "/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle 
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) 
    File "/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler 
    handler, path, err = LoadObject(self._handler) 
    File "/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject 
    obj = __import__(path[0]) 
    File "deploy_10oct/main.py", line 11, in <module> 
    import h5py 
ImportError: No module named h5py 
INFO  2017-10-10 20:20:11,919 module.py:821] default: "GET/HTTP/1.1" 500 - 

目錄結構

ls 
app.yaml  
env   
lame.pyc   
main.pyc   
templates 
appengine_config.py   
lib   
requirements.txt  
uploads 
appengine_config.pyc  
lame.py   
main.py   
static  
+1

你能分享你的'appengine_config.py'? –

回答

1

您需要創建您的應用程序中的lib目錄,並在該目錄安裝你的依賴(不是您的系統的Python安裝)。從Installing a third-party library

  1. 創建一個目錄來存儲您的第三方庫,如lib/

    mkdir lib 
    
  2. 使用pip-t <directory>標誌(6或更高版本)的庫複製到您在上一步 創建的文件夾。例如:

    pip install -t lib/ <library_name> 
    
+0

我已經完成了。我寫了一個小程序,它只是調用hello world並將h5py導入它並引發相同的錯誤。錯誤在wsgi第263行。我現在如何調試? – Hooli

+0

獨立應用!= GAE應用。獨立應用程序使用本地Python路徑中的庫,GAE應用程序使用它們包含的庫。您應該在devserver中運行您的GAE應用程序。你也可以嘗試教你的獨立程序來使用GAE應用程序庫,但恕我直言,這只是浪費時間。 –