[英]Python/django : Cannot import GeoIP
我無法在django中導入GeoIP。我搜索並測試了兩天這個錯誤,但仍然無法解決問題。
當然,我安裝了 GeoDjango。 我在 MacOS 10.8
以下是 django shell 測試的日志
from django.contrib.gis import geoip
來自“/Library/Python/2.7/site-packages/django/contrib/gis/geoip/__init__.pyc”的模塊“django.contrib.gis.geoip”
有用。 即使我可以在 Library/Python/2.7/site-packages/django/contrib/gis/geoip/base.py 找到 geoip class
from django.contrib.gis.geoip import geoip
追溯(最近一次通話):文件“”,第 1 行,在 ImportError 中:無法導入名稱 geoip
我還將 django.contrib.gis 添加到 setting.py。 即使我可以在 eclipse 快捷方式中找到 geoip class。
無論如何,我在 django shell 中又測試了一件東西。
from django.contrib.gis.geoip.base import 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: name 'GeoIPException' is not defined
我錯過了什么?
有什么辦法可以測試我的錯誤嗎?
看來您需要安裝一個 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
以前我遇到過這個問題: from django.contrib.gis.geoip import GeoIP ImportError: cannot import name GeoIP
當我安裝這個包時就解決了。
yum install GeoIP-devel -y
該錯誤是由於移動虛擬環境文件夾引起的。
解決方法是重新創建環境,重新安裝pygeoip庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.