2011-04-01 49 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

相关问题