Django: ImportError: cannot import name 'GeoIP2'
Django: ImportError: cannot import name 'GeoIP2'
我正在尝试根据 the instructions.
为 GeoDjango 设置 geoip2
出于某种原因,包装器未导入函数。它在我下载数据库并在我的设置中指向它们之前工作,但由于某种原因现在我无法加载 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']
This module 自 版本 1.9 后被弃用,取而代之的是支持 IPv6 和 GeoLite2 数据库格式的 django.contrib.gis.geoip2
。
如果您的 django < 1.9,请改用
from django.contrib.gis.geoip import GeoIP
仔细检查您的 GEOIP_PATH
。我提醒您 Windows 需要反斜杠而不是正斜杠。
我通过 pip 包安装修复了 geoip2==2.9.0
pip install geoip2==2.9.0
我也遇到了同样的错误,多次尝试都无法解决。
由于它在我的一个系统上运行,我发现了一个不同之处,当您通过 pip 安装 geoip2 时,它还会安装 maxminddb。它正在运行的系统,maxminddb 版本是 1.5.4 而它不工作的系统是 maxminddb==2.0.0
所以最后我做到了
pip install maxminddb==1.5.4
并且有效
只需运行 命令 pip install geoip2 然后它就可以正常工作...
我正在尝试根据 the instructions.
为 GeoDjango 设置geoip2
出于某种原因,包装器未导入函数。它在我下载数据库并在我的设置中指向它们之前工作,但由于某种原因现在我无法加载 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']
This module 自 版本 1.9 后被弃用,取而代之的是支持 IPv6 和 GeoLite2 数据库格式的 django.contrib.gis.geoip2
。
如果您的 django < 1.9,请改用
from django.contrib.gis.geoip import GeoIP
仔细检查您的 GEOIP_PATH
。我提醒您 Windows 需要反斜杠而不是正斜杠。
我通过 pip 包安装修复了 geoip2==2.9.0
pip install geoip2==2.9.0
我也遇到了同样的错误,多次尝试都无法解决。
由于它在我的一个系统上运行,我发现了一个不同之处,当您通过 pip 安装 geoip2 时,它还会安装 maxminddb。它正在运行的系统,maxminddb 版本是 1.5.4 而它不工作的系统是 maxminddb==2.0.0
所以最后我做到了
pip install maxminddb==1.5.4
并且有效
只需运行 命令 pip install geoip2 然后它就可以正常工作...