Python 升级到appengine开发服务器1.7.6后导入simplejson时出错
我刚刚在OS X上升级到App Engine Python Development server 1.7.6版,升级后,我在尝试运行我的应用程序时收到以下错误:Python 升级到appengine开发服务器1.7.6后导入simplejson时出错,python,google-app-engine,Python,Google App Engine,我刚刚在OS X上升级到App Engine Python Development server 1.7.6版,升级后,我在尝试运行我的应用程序时收到以下错误: ERROR 2013-04-02 04:05:14,268 wsgi.py:219] Traceback (most recent call last): File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-de
ERROR 2013-04-02 04:05:14,268 wsgi.py:219]
Traceback (most recent call last):
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 196, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 255, in _LoadHandler
handler = __import__(path[0])
File "/Users/rmorlok/Dropbox/ryanroot/ryan-projects/Development/docalytics/online/main.py", line 13, in <module>
from google.appengine.tools import dev_appserver
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py", line 62, in <module>
import simplejson
ImportError: No module named simplejson
它成功地完成了。如果我在控制台上运行Python并导入simplejson,我可以成功导入simplejson,但是当通过PyCharm或GoogleAppengineLaunch运行我的应用程序时,我会遇到上述错误
有人知道发生了什么吗?此问题可能是由版本冲突或sys.path配置错误引起的。 以下是一些建议:
- 确保只安装了一个版本的sdk。你可能有
安装在
和/usr/local/google\u appengine
/Applications/GoogleAppEngineLauncher.app/
- 重新安装appengine后,请在中运行appengine启动器
默认情况下,它会创建一个 创建符号链接时,在/Applications/GoogleAppEngineLauncher.app/
中使用符号链接, 检查权限并确保系统变量设置为 如果需要,本主题可能会有所帮助/usr/local/google\u appengine
- 使用pycharm时,请确保已启用AppEngine支持
- 如果您使用的是virtualenv,请确保appengine位于sys.path中
- 您可以尝试将$APPENGINEPATH/lib添加到sys.path
- 如果此问题仍然存在,请了解您使用的是哪台服务器 dev_appserver或dev_appserver2,请参阅中的详细信息
如果以上没有任何帮助,请随意评论此答案,我们将找到解决方案 SimpleJson在最新版本中被重命名为Json。如果不更新到simplejson的最新版本,就不会出现此问题。因此,您可以恢复到早期版本,也可以将以下内容添加到出现问题的python文件顶部:
import json as simplejson
当您安装用于python的App Engine SDK时,Google可能对版本有一些要求 如果使用eclipse,则必须在控制台上安装simplejson,然后重置python解释器。为此,您必须:
问题似乎来自于我导入dev_appserver本身(从google.appengine.tools import dev_appserver)以获取一些实用程序的一行。删除这一行似乎可以避免这个问题。您现在运行的是python 2.7,因此您可以直接导入json而不是simplejson,是的,在我的代码中,我实际上只是导入json。导入simplejson实际上在google的开发应用服务器代码中。Pip安装不会有帮助。您需要将simplejson复制到项目中。奇怪的是,你在1.7.6中遇到了这个问题,它应该会影响到每个人。同样的问题,1.7.7也没有解决。我不得不后退到1.7.5才能让它消失。错误提示:当我从
dev_appserver.py
中删除import simplejson
行时,我得到了一个单独的ImportError:没有由/Applications/GoogleAppEngineLauncher.app/…/appengine/cron/groc.py
引发的名为antlr3的模块
import json as simplejson