python – 无法在Django中导入GeoIP模块

我正在使用Django 1.5.5.

settings.py:

GEOIP_PATH = os.path.join(PROJECT_DIR,  'geoIP')
INSTALLED_APPS = (..,'django.contrib.gis',..)

views.py:

from django.contrib.gis import geoip
print geoip.HAS_GEOIP

印刷品给出了错误.

如果我尝试以下之一,我会得到一个ImportError:无法导入名称GeoIP

from django.contrib.gis.utils import GeoIP #this one is deprecated whatsoever
from django.contrib.gis.utils.geoip import GeoIP #this one is deprecated whatsoever
from django.contrib.gis.geoip import GeoIP

通常看起来geoip不包含GeoIP模块.

如果我在终端中打开python:

>>> from django.contrib.gis.geoip import GeoIP
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name GeoIP

更多信息,如果我打印:

from django.contrib.gis import geoip
print geoip

我明白了:

<module 'django.contrib.gis.geoip' from '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/gis/geoip/__init__.pyc'>

不确定这是否可以暗示某人帮助我?

最佳答案
看起来您没有在系统范围内安装GeoIP. django.contrib.gis.geoip只是GeoIP库的包装器,无论如何都必须安装它.

在OS X上,如果您使用自制程序,只需运行brew install geoip.如果没有,您需要确保已安装GeoIP lib,并且您的libGeoIP.dylib位于系统保存其库的任何位置.

转载注明原文:python – 无法在Django中导入GeoIP模块 - 代码日志