Django 和 Google App Engine Helper 找不到 ipaddr 模块

标签 django google-app-engine

我正在尝试使用此 tutorial 让 Django 在 GAE 上运行.

当我运行 python manage.py runserver 时,我得到了下面的堆栈跟踪。我是 django 和 python 的新手,所以我不知道下一步是什么(顺便说一句,这是 Ubuntu Jaunty)。似乎 django 没有找到 SDK 1.3.1 附带的 GAE 模块 ipaddr。

如何让 django 找到这个模块?

/home/username/bin/google_appengine/google/appengine/api/datastore_file_stub.py:40: DeprecationWarning: the md5 module is deprecated; use hashlib instead
  import md5

/home/username/bin/google_appengine/google/appengine/api/memcache/__init__.py:31: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
  import sha
Traceback (most recent call last):
  File "manage.py", line 18, in <module>
    InstallAppengineHelperForDjango()
  File "/home/username/Development/GAE/myapp/appengine_django/__init__.py", line 543, in InstallAppengineHelperForDjango
    InstallDjangoModuleReplacements()
  File "/home/username/Development/GAE/myapp/appengine_django/__init__.py", line 260, in InstallDjangoModuleReplacements
    import django.db
  File "/home/username/Development/GAE/myapp/django/db/__init__.py", line 57, in <module>
    'TIME_ZONE': settings.TIME_ZONE,
  File "/home/username/Development/GAE/myapp/appengine_django/db/base.py", line 117, in __init__
    self._setup_stubs()
  File "/home/username/Development/GAE/myapp/appengine_django/db/base.py", line 128, in _setup_stubs
    from google.appengine.tools import dev_appserver_main
  File "/home/username/bin/google_appengine/google/appengine/tools/dev_appserver_main.py", line 82, in <module>
    from google.appengine.tools import appcfg
  File "/home/username/bin/google_appengine/google/appengine/tools/appcfg.py", line 53, in <module>
    from google.appengine.api import dosinfo
  File "/home/username/bin/google_appengine/google/appengine/api/dosinfo.py", line 25, in <module>
    import ipaddr
ImportError: No module named ipaddr

最佳答案

http://code.google.com/p/ipaddr-py/ 安装。

关于问题的信息: http://code.google.com/p/google-app-engine-django/issues/detail?id=161#c3

来自谷歌:

> Hi, just apply this patch from: http://code.google.com/p/google-app-engine-
django/source/detail?r=102

-------

Log message

Adds new dependency, ipaddr, from SDK
Affected files     expand all   collapse all
    Modify  /trunk/appengine_django/__init__.py diff
...         
129 129             SDK_PATH,
130 130             os.path.join(SDK_PATH, 'lib', 'antlr3'),
131 131             os.path.join(SDK_PATH, 'lib', 'django'),
132 +           os.path.join(SDK_PATH, 'lib', 'ipaddr'),
132 133             os.path.join(SDK_PATH, 'lib', 'webob'),
133 134             os.path.join(SDK_PATH, 'lib', 'yaml', 'lib'),
134 135         ]

关于Django 和 Google App Engine Helper 找不到 ipaddr 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2313611/

相关文章:

django - CommandError : You must set settings. ALLOWED_HOSTS 如果 DEBUG 为 False

java - 灵活环境使用什么服务帐户来访问另一个项目中的数据存储?

node.js - 错误 : (gcloud. app.deploy)错误响应:[12] 此项目未启用连接到外部网络

java - 在单元测试中自动生成数据存储索引

google-app-engine - Git Push to Deploy 在所有 App Engine 项目上停止 'deploy source only'

django - 从 ModelForm 的 FileField 保存文件

python - 注释: whether a given value exists in m2m field

Django - 跳过数组的第一行

google-app-engine - 如何更改 dev_appserver 的日志记录级别

django - AWS + Django 定时任务