2011-04-01 46 views
3

我正在研究一個將在Google App Engine上運行的python應用程序。我安裝我的應用程序了下面的目錄結構:當發生更改時,App Engine開發服務器不重新加載代碼

approot/ 
    app.yaml 
    index.yaml 
    myapp.py 
    controllers/ 
    some_controller.py 
    some_controller1.py 
    models/ 
    views/ 

...etc... 

我的問題是開發服務器不會總是自動重新加載我的代碼,當我做出改變,即使谷歌的文檔說會的。

它重裝我的代碼是,當我做出改變是我的應用程序的頂級目錄的唯一時間。子目錄中的任何內容(例如控制器)都會被忽略。每次進行更改時,我都必須停止並啓動服務器。

我覺得這真的阻礙我的發展進步,特別是因爲沒有重啓鍵,你確實有打停機再啓動。

是否有這樣的補救措施或者我只是做錯了?我真的很喜歡有一個組織良好的項目,而不是將所有文件轉儲到頂層目錄中。

+0

請在提交錯誤報告:http://code.google.com/p/googleappengine/issues/list – 2011-04-01 02:50:50

+0

我猶豫以便將錯誤,因爲我不知道如果我做得不正確或如果這是一個實際的錯誤。哎喲,它甚至可能是我知道的所有功能請求:) – macinjosh 2011-04-01 02:55:32

+0

如果它沒有做你想做的事情,這是一個短暫的未來。如果沒有人報告過類似的情況,那麼它不是重複的。即使項目業主不同意你應該如何工作的意見,也應該記錄下來。提交錯誤報告! – SingleNegationElimination 2011-04-01 03:05:28

回答

1

重載機制可能是與默認的導入機制和內置__import__功能。如果你(或者你的框架)以其他聰明的方式加載你的模塊,那麼這個reloader可能不會注意到。可能的解決方法是明確導入myapp.py模塊中的關鍵模塊。

+0

我正在使用...導入...將屬於默認導入機制?我對Python仍然很陌生,所以請原諒我的無知:) – macinjosh 2011-04-01 02:53:19

+0

您正在更改的模塊是否以'myapp.py'這種方式導入? – SingleNegationElimination 2011-04-01 03:06:04

+0

是在myapp.py我有這樣的:「從SomeController進口SomeController」 SomeController是在控制器聲明的類/ SomeController.py的路徑是相對於myapp.py – macinjosh 2011-04-01 03:17:40

相關問題