我无法在Django中导入GeoIP。我搜索并测试了此错误两天,但仍然不知道问题。
当然,我安装了GeoDjango。我在MacOS 10.8上
以下是django shell测试的日志
1 >>从django.contrib.gis导入geoip
2 >>来自的模块'django.contrib.gis.geoip'
'/Library/Python/2.7/site-packages/django/contrib/gis/geoip/init.pyc'>
有用。甚至我也可以在Library / Python / 2.7 / site-packages / django / contrib / gis / geoip / base.py中找到geoip类
3 >>>从django.contrib.gis.geoip导入geoip Traceback(最新
最后调用):文件“”,位于ImportError中的第1行:
无法导入名称geoip
我还将django.contrib.gis添加到setting.py。甚至我也可以在eclipse快捷方式上找到geoip类。
无论如何,我在django shell中测试了另一件事。
从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导入GEOIP_SETTINGS文件
“ /Library/Python/2.7/site-packages/django/contrib/gis/geoip/libgeoip.py”,
第22行,在
如果lib_path为None:引发GeoIPException(“找不到GeoIP库(尝试“%s”)。'NameError:名称'GeoIPException'不是
定义的
我想念什么?
有什么办法可以测试我的错误?
最佳答案
看来您需要安装一个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
关于python - Python/Django:无法导入GeoIP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12761932/