0

Django で次のエラーが発生します。

>>> import django.contrib.gis.gdal
>>> print django.contrib.gis.gdal.libgdal.gdal_full_version()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'module' object has no attribute 'libgdal'

しかし、私はこれを持っています:

$ locate libgdal

/usr/local/lib/python2.7/site-packages/django/contrib/gis/gdal/libgdal.py
/usr/local/lib/python2.7/site-packages/django/contrib/gis/gdal/libgdal.pyc
/usr/local/lib/python2.7/site-packages/django/contrib/gis/gdal/libgdal.pyo
4

1 に答える 1

3

Python でパッケージをインポートしても、その下にあるサブパッケージ/モジュールが自動的にインポートされるとは限りません。実行すると、それは gdal ディレクトリimport django.contrib.gis.gdalで実行されます。__init__.pyそれimport libgdalを介して利用できるようにするかどうかは、そのファイル次第ですgdal。この特定のケースでは、gdal(とりわけ) インポートはそれ自体gdal_full_versionから機能しますが、全体として機能するlibgdalわけではないlibgdalため、次のようにすることができます。

>>> import django.contrib.gis.gdal
>>> print django.contrib.gis.gdal.gdal_full_version()
GDAL 1.6.3, released 2009/11/19

または、関数が実際に定義されている場所を明示するには、次のようにします。

>>> import django.contrib.gis.gdal.libgdal
>>> print django.contrib.gis.gdal.libgdal.gdal_full_version()
GDAL 1.6.3, released 2009/11/19
于 2012-12-01T10:30:15.023 に答える