![](/img/trans.png)
[英]Why does my Flask App not work correctly on Google App Engine?
[英]On the google app engine, why does my 'import' statement fail on Live, but work on Dev(localmachine)?
我有一個在google app引擎上運行的python / django應用程序。
我的views.py文件有一些導入...
from commands.userCommands import RegisterUserCommand
from commands.accountCommands import CreateNewAccountCommand, RenameAccountCommand
這些導入可以在我的開發環境(本地計算機)上正常工作。 但是,當我上傳到Google App Engine時,views.py失敗,並顯示“無法導入視圖。錯誤是:沒有名為userCommands的模塊”錯誤。
知道為什么我不能導入commands.userCommands模塊嗎?
我的文件結構如下所示...
- app.yaml
- urls.py
- views.py
- etc...
- commands/__init__.py
- commands/userCommands.py
注意 :我確實嘗試將我的應用程序名稱附加到模塊名稱/路徑。 沒運氣。
注意 :我確實使用--noisy參數進行了更新,並且看起來確實可以成功上傳我的commands文件夾。
您可能會遇到與Python自己的commands
模塊(沒有像您的子模塊那樣)的沖突–以用來在標准庫中隱藏模塊和包的方式命名您自己的模塊和包(就像用以下方式命名變量一樣)旨在隱藏內置名稱(例如list
或file
)的操作始終是一項艱巨的任務,即使它“應該”起作用,也總是存在混淆的可能。
您能否嘗試將該commands
包及其使用重命名為明確mycommands
東西(例如mycommands
,然后看看這是否使問題消失了? 如果是這種情況,您可以在GAE的跟蹤器上打開故障單(因為它會在GAE的運行時中顯示一個小但不可否認的錯誤),但與此同時,您的問題仍將得到解決!-)如果問題仍然存在,嗯,至少我們已經消除了一個可能的原因,可以繼續挖掘...
__init__.py
文件是使Python將目錄視為包含包的必需文件,因此您需要
commands/__init__.py
目錄結構中的文件。 參見http://docs.python.org/tutorial/modules.html 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.