我有一个在谷歌应用引擎上运行的 python/django 应用程序。
我的 views.py 文件有一些导入...
from commands.userCommands import RegisterUserCommand
from commands.accountCommands import CreateNewAccountCommand, RenameAccountCommand
这些导入在我的开发环境(本地机器)上运行良好。但是当我上传到谷歌应用引擎时,views.py 失败并显示“无法导入 View 。错误是:没有名为 userCommands 的模块”错误。
知道为什么我无法导入我的 commands.userCommands 模块吗?
我的文件结构如下...
- app.yaml
- urls.py
- views.py
- etc...
- commands/__init__.py
- commands/userCommands.py
注意:我确实尝试将我的应用程序名称附加到模块名称/路径。运气不好。
注意:我确实使用 --noisy 参数进行了更新,它似乎确实成功上传了我的命令文件夹。
最佳答案
您可能会遇到与 Python 自身的冲突 commands
模块(没有像你这样的子模块)——以隐藏标准库中的方式命名你自己的模块和包(就像以隐藏内置名称的方式命名你的变量,比如 list
或 file
) 始终是一项危险的任务,即使它“应该”起作用,也总是存在混淆的可能性。
您能否尝试将该 commands
包及其用途重命名为明确且没有危险的名称,例如 mycommands
,看看是否能使问题消失?如果是这种情况,您可以在 GAE 的跟踪器上开票(因为它会显示 GAE 运行时中的一个小但不可否认的错误)但同时您的问题已解决!-) 如果问题仍然存在,嗯,至少我们已经消除了一个可能的原因并且可以继续挖掘......
关于python - 在谷歌应用引擎上,为什么我的 'import' 语句在 Live 上失败,但在 Dev(localmachine) 上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1914881/