我想從一個特定的模塊(稱爲'命令')動態加載一個類,並且代碼在本地運行從本地Django服務器運行時運行得非常酷。但是,當我部署到Google App Engine時,這會發生爆炸。我試過將命令模塊的父模塊添加到進口以及無效(在這種情況下的任何設置)。代碼如下:如何在App Engine中動態導入模塊?
mod = __import__('commands.%s' % command, globals(), locals(), [command])
return getattr(mod, command)
App Engine只要觸發它就會拋出一個ImportError。
並澄清,它不會在命令模塊上彈出。如果我有一個像'commands.cat'這樣的命令,它找不到'貓'。
什麼是ImportError?您不應該在__import__調用中包含類名 - 只需執行__import __('commands')`(或者更好的做法是靜態地執行此操作),並且App Engine的導入掛鉤在這方面的行爲可能略有不同。 – 2010-12-21 22:53:45