Django: ImportError: невозможно импортировать имя 'GeoIP2' - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь настроить geoip2 для GeoDjango согласно инструкциям .

По какой-то причине оболочка не импортирует функцию.Это работало до того, как я скачал базы данных и указал на них в моих настройках, но по какой-то причине теперь я не могу загрузить GeoIP2 (даже когда я закомментирую строку в settings.py).Как мне устранить эту проблему?

Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> import geoip2
>>>
>>> from django.contrib.gis.geoip2 import GeoIP2
Traceback (most recent call last):
  File "<console>", line 1, in <module>
ImportError: cannot import name 'GeoIP2'
>>>

РЕДАКТИРОВАТЬ: я вижу функцию GeoIP2 правильно перечислены в исходном файле (который я не изменил).Что может помешать загрузке?

Я использую Django 1.11.4

Если я импортирую django.contrib.gis.geoip2, это свойство __path__:

>>> geoip2.__path__
['C:\\Users\\Adam\\Envs\\otherlane\\lib\\site-packages\\django\\contrib\\gis\\geoip2']

Ответы [ 3 ]

0 голосов
/ 11 мая 2018

Дважды проверьте ваш GEOIP_PATH. И я напоминаю вам, что Windows требует обратной косой черты, а не прямой.

0 голосов
/ 12 февраля 2019

Я исправил, установив его через пакет pip geoip2==2.9.0

pip install geoip2==2.9.0
0 голосов
/ 11 мая 2018

Этот модуль устарел с версии 1.9 в пользу django.contrib.gis.geoip2, который поддерживает IPv6 и формат базы данных GeoLite2.

Если у вас django <1,9, используйте вместо этого </p>

from django.contrib.gis.geoip import GeoIP
...