将simplejson和antlr3导入djangoappengine项目时出错

时间:2014-06-05 16:14:29

标签: python django google-app-engine djangoappengine

我正在构建一个使用django-app-engine的项目,但在使用GAE启动器运行项目时会出现一些导入错误。

我的第一个错误是导入simplejson,与:Error importing simplejson after upgrading to appengine dev server 1.7.6

相同

我通过修改GAE包中的old_dev_appserver.py来导入'json'而不是'simplejson'解决了这个问题(我希望我可以修改GAE包。)

更改后,我收到一个新错误:

 File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/cron/groc.py", line 31, in <module>
    import antlr3
ImportError: No module named antlr3

在上面的链接中,@ trope实际上评论了同样的问题,但我认为一个新问题比在原始问题上添加注释更好(通过将simplejson更改为json来解决)

正如这里建议的那样:Django App Engine can't find antlr3 module,我试图添加

os.path.join(SDK_PATH, 'lib', 'antlr3')

还尝试安装antlr3运行时。

我觉得这个问题与上面的问题不同,因为它是simplejson解决方法的直接结果,但也许它是相同的。

Python 2.7.2,GAELauncher 1.9.4

有什么建议吗?

编辑:我现在也尝试使用最新版本的Launcher在我的电脑上完全相同的设置/代码库,我得到完全相同的两个错误:首先是simplejson,然后是antlr3。也许这意味着它是codebase / djangoappengine安装的问题?

1 个答案:

答案 0 :(得分:0)

好的,这应该解决了。确保你已经更新了所有django nonrel项目(dbindexer,django,djangoappengine,djangotoolbox,以及你使用的其他任何东西)。另外,从命令行运行gcloud components update

除了添加os.path.join(SDK_PATH, 'lib', 'antlr3')之外,您是否真的下载并安装了它?从命令行运行whereis antlr3