當我嘗試訪問應用程序根目錄下的lib目錄內的庫時,出現ImportError錯誤。如何從Python Google App Engine中的模塊訪問自營庫?
我的確在documentation必要的步驟,它只有一個模塊的工作,但一旦我搬到了多個模塊,該目錄結構就不再起作用:
<app root>
|
+-- appengine_config.py
|
+-- lib
|
+-- modules
+-- module1
|
+-- module2
在我appengine_config.py我添加line:vendor.add(os.path.join(os.path.dirname(__file__), 'lib'))
對這裏可能發生的事情有任何想法?
編輯: 此目錄結構,似乎爲我工作:
<app root>
|
+-- lib
|
+-- module1
| +-- appengine_config.py
| |
| +-- app.yaml
| |
| +-- lib <symlink to app root lib>
+-- module2 (same as module 1)
我認爲appengine_config.py是在主應用程序級別定義的東西,而不是在模塊級。在每個模塊中複製相同的確切文件和sym鏈接是否正確?
您的模塊的「.yaml」文件位於何處?我的意思是你是否遵循doc中的第1或第2個應用程序結構建議:https://cloud.google.com/appengine/docs/python/modules/#Python_Configuration –
頂層yaml文件,如'queue.yaml', 'cron.yaml'等位於app根目錄,而'app.yaml'文件位於'modules/module1','modules/module2'目錄中。我主要關注第一個應用程序結構,但將所有模塊嵌套在模塊目錄中。對於命名混淆,很抱歉,它可能與您的標準Python模塊混淆。 – user5831382