1

django で GeoIP をインポートできません。このエラーを2日間検索してテストしましたが、それでも問題を知ることができませんでした.

確かに、GeoDjango をインストールしました。私はMacOS 10.8を使用しています

以下はdjangoシェルでテストしたログです

from django.contrib.gis import geoip

モジュール 'django.contrib.gis.geoip' from '/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 クラスを見つけることさえできました

from django.contrib.gis.geoip import geoip 
トレースバック (最新の呼び出しが最後):
  ファイル ""、1 行目、
ImportError: 名前 geoip をインポートできません

また、django.contrib.gis を setting.py に追加します。Eclipse ショートカットで geoip クラスを見つけることさえできました。

とにかく、django シェルでもう 1 つテストしました。

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 の場合: raise GeoIPException('GeoIP ライブラリが見つかりませんでした ("%s" を試行しました)。'
NameError: 名前 'GeoIPException' が定義されていません

私は何が欠けていますか?

エラーをテストする方法はありますか?

4

2 に答える 2

1

以前、私はこの問題に直面していました: from django.contrib.gis.geoip import GeoIP ImportError: cannot import name GeoIP

このパッケージをインストールすると解決します。

yum install GeoIP-devel -y
于 2016-11-11T06:49:17.163 に答える
1

GeoIP を使用するには、C ライブラリをインストールする必要があるようです。

そのエラーをスローしているファイルのスニペットを次に示します。

# 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

于 2012-10-06T17:15:33.610 に答える