Python/django: невозможно импортировать GeoIP

Я не могу импортировать GeoIP в django. Я искал и тестировал эту ошибку два дня, но до сих пор не мог узнать проблему.

Конечно, я установил GeoDjango. Я на MacOS 10.8

Ниже приведен журнал, проверенный оболочкой django.

1>>из django.contrib.gis импортировать geoip

2>>модуль 'django.contrib.gis.geoip' из '/Library/Python/2.7/site-packages/django/contrib/gis/geoip/init.pyc'>

оно работает. даже я мог найти класс geoip в Library/Python/2.7/site-packages/django/contrib/gis/geoip/base.py


3>>> from django.contrib.gis.geoip import geoip Traceback (последний последний вызов): File "", строка 1, в ImportError: невозможно импортировать имя geoip


Я также добавляю django.contrib.gis в settings.py. Даже я мог найти класс geoip на ярлыке eclipse.

в любом случае, я проверил еще одну вещь в оболочке django.

из django.contrib.gis.geoip.base импортировать GeoIP

Трассировка (последний последний вызов): Файл "", строка 1, в файле "/Library/Python/2.7/site-packages/django/contrib/gis/geoip/base.py", строка 6, из django.contrib .gis.geoip.libgeoip import GEOIP_SETTINGS File "/Library/Python/2.7/site-packages/django/contrib/gis/geoip/libgeoip.py", строка 22, если lib_path имеет значение None: поднять GeoIPException('Не удалось найти библиотека GeoIP (попробовал "%s"). ' NameError: имя "GeoIPException" не определено

Что мне не хватает?

Есть ли способ проверить мою ошибку?


person user1725454    schedule 06.10.2012    source источник


Ответы (2)


Похоже, вам нужно установить библиотеку C, чтобы использовать GeoIP.

Вот фрагмент файла, который выдает эту ошибку.

# The shared library for the GeoIP C API.  May be downloaded
#  from http://www.maxmind.com/download/geoip/api/c/
if lib_path:
    lib_name = None
else:
    # TODO: Is this really the library name for Windows?
    lib_name = 'GeoIP'

После того, как вы где-то установили его, вам нужно указать его в настройках settings.py.

GEOIP_LIBRARY_PATH = '/whatever'

Библиотека пыталась вам это сказать, но, похоже, есть ошибка, не позволяющая ей выдать правильную ошибку. https://github.com/django/django/pull/103

person Nathan Villaescusa    schedule 06.10.2012

Раньше я сталкивался с этой проблемой: из django.contrib.gis.geoip import GeoIP ImportError: невозможно импортировать имя GeoIP

который решается, когда я устанавливаю этот пакет.

yum install GeoIP-devel -y
person Marthanda Anand    schedule 11.11.2016