在googleappengine上,为什么我的“import”语句在Live上失败,而在Dev(localmachine)上工作?

2024-06-28 19:34:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个在googleappengine上运行的python/django应用程序。你知道吗

我的视图.py文件有一些导入。。。你知道吗

from commands.userCommands import RegisterUserCommand
from commands.accountCommands import CreateNewAccountCommand, RenameAccountCommand

这些导入在我的开发环境(本地机器)上运行良好。但当我上传到谷歌应用引擎时,视图.py失败,出现“无法导入视图”。错误是:没有名为“userCommands”的模块错误。你知道吗

你知道为什么我不能导入我的命令.用户命令模块?你知道吗

我的文件结构如下所示。。。你知道吗

- app.yaml
- urls.py
- views.py
- etc...
- commands/__init__.py
- commands/userCommands.py

注意:我确实尝试将我的应用程序名附加到模块名/路径中。运气不好。你知道吗

注意:我确实使用--noisy参数进行了更新,它似乎确实成功上载了我的commands文件夹。你知道吗


Tags: 模块文件djangofrompyimport命令视图
2条回答

__init__.py文件是使Python将目录视为包含包所必需的,因此需要

commands/__init__.py

目录结构中的文件。见http://docs.python.org/tutorial/modules.html。你知道吗

您可能会遇到与Python自己的^{}模块(它没有像您这样的子模块)冲突的情况,即以隐藏标准库中的模块和包的方式命名自己的模块和包(就像以隐藏内置名称的方式命名变量一样,就像listfile)总是一件危险的事情,即使它“应该”起作用,也总是有可能引起混淆。你知道吗

你能试着把commands包和它的用法重新命名为一些明确的、没有危险的东西吗,比如mycommands,看看这是否会让问题消失?如果是这样的话,你就可以在GAE的tracker上打开一个标签(因为它会在GAE的运行时显示一个小但不可否认的bug),但是与此同时你的问题就解决了!-)如果问题仍然存在,那么,至少我们已经排除了一个可能的原因,可以继续挖掘。。。你知道吗

相关问题 更多 >