【发布时间】:2012-02-12 12:33:08
【问题描述】:
我正在为谷歌应用引擎编写 python。当我编译我的项目时,它不会出错。当我在服务器上使用它时,import 出现错误。
例如,我正在从另一个类中导入一个方法,如下所示:
from src.receiver.receive_smth import add_to_smth_db
我得到的错误如下所示:
<type 'exceptions.ImportError'>: No module named src.receiver.receive_smth
奇怪的是,当我自动导入此依赖项时,我得到如下内容:
from receiver.receive_smth import add_to_smth_db
(请注意接收器前面缺少src),但是我的项目标有错误。
除了警告
之外,Google appengine 导入和 django 工作正常您正在使用默认的 Django 版本 (0.96)。默认 Django 版本将在不久的将来在 App Engine 版本中更改。
[更新]
我注意到的一件事是我的包不包含 __init__.py 脚本(我在 Windows 上工作)。关于如何正确配置包的任何想法?
关于已修复 Django 版本的警告
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from google.appengine.dist import use_library
use_library('django', '1.1')
【问题讨论】:
-
不包含
__init__.py的目录根本不是包。 “当你编译你的项目时”它没有得到错误究竟是什么意思?您通常不会编译 python(尽管模块在首次导入时会为您编译为 .pyc,但本身没有“编译器错误”。) -
好吧,到此为止,项目运行没有任何异常或错误。此外,我没有像往常一样收到红色标记的错误。我从我的另一个项目中复制了一个 init.py 并且它有效。但是在python中将文件夹设置为包的正确方法是什么?
标签: python google-app-engine import package