Вопрос: Невозможно импортировать модуль GeoIP в Django


Я использую 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

печать дает false,

Если я попробую выполнить одно из следующих действий, я получу ImportError: cannot import name 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'>

Не уверен, что это может быть подсказкой для кого-то, кто поможет мне?


7


источник


Ответы:


Похоже, что у вас нет GeoIP, установленного в системе. django.contrib.gis.geoip это всего лишь обертка вокруг библиотеки GeoIP, и она должна быть установлена ​​независимо.

В OS X, если вы используете доморощенный, просто запустите brew install geoip, Если нет, вам нужно убедиться, что установлен GeoIP lib, и что у вас есть libGeoIP.dylib где ваша система хранит свои библиотеки.


16