Lỗi GDAL trong project Django

Hi mọi người.
Đầu tiên, em xin lỗi vì đã làm phiền đến mọi người.
Hiện tại em đang gặp khó khăn với GDAL khi sử dụng nó trong project Django.
Cụ thể, khi thêm app 'django.contrib.gis' vào INSTALLED_APPS trong file settings.py, khi chạy project sẽ gặp lỗi sau:
django.core.exceptions.ImproperlyConfigured: Could not find the GDAL library (tried "gdal302", "gdal301", "gdal300", "gdal204", "gdal203", "gdal202", "gdal201", "gdal20"). Is GDAL installed? If it is, try setting GDAL_LIBRARY_PATH in your settings.
Stack strace:

  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\threading.py", line 973, in _bootstrap_inner
    self.run()
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\threading.py", line 910, in run
    self._target(*self._args, **self._kwargs)
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\core\management\commands\runserver.py", line 110, in inner_run
    autoreload.raise_last_exception()
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\utils\autoreload.py", line 87, in raise_last_exception
    raise _exception[1]
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\core\management\__init__.py", line 375, in execute
    autoreload.check_errors(django.setup)()
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\apps\registry.py", line 122, in populate
    app_config.ready()
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\contrib\admin\apps.py", line 27, in ready
    self.module.autodiscover()
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\contrib\admin\__init__.py", line 24, in autodiscover
    autodiscover_modules('admin', register_to=site)
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\utils\module_loading.py", line 47, in autodiscover_modules
    import_module('%s.%s' % (app_config.name, module_to_search))
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\contrib\gis\admin\__init__.py", line 5, in <module>
    from django.contrib.gis.admin.options import GeoModelAdmin, OSMGeoAdmin
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\contrib\gis\admin\options.py", line 2, in <module>
    from django.contrib.gis.admin.widgets import OpenLayersWidget
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\contrib\gis\admin\widgets.py", line 3, in <module>
    from django.contrib.gis.gdal import GDALException
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\contrib\gis\gdal\__init__.py", line 28, in <module>
    from django.contrib.gis.gdal.datasource import DataSource
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\contrib\gis\gdal\datasource.py", line 40, in <module>
    from django.contrib.gis.gdal.driver import Driver
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\contrib\gis\gdal\driver.py", line 5, in <module>
    from django.contrib.gis.gdal.prototypes import ds as vcapi, raster as rcapi
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\contrib\gis\gdal\prototypes\ds.py", line 9, in <module>
    from django.contrib.gis.gdal.libgdal import GDAL_VERSION, lgdal
  File "D:\Code\#Demo\test_gdal\envs\test_gdal\lib\site-packages\django\contrib\gis\gdal\libgdal.py", line 46, in <module>
    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Could not find the GDAL library (tried "gdal302", "gdal301", "gdal300", "gdal204", "gdal203", "gdal202", "gdal201", "gdal20"). Is GDAL installed? If it is, try setting GDAL_LIBRARY_PATH in your settings.

Em đã tra google, youtube, làm rất nhiều cách nhưng vẫn chưa thể xử lý được vấn đề này.
Nếu thêm GDAL_LIBRARY_PATH vào file settings thì lỗi sau sẽ xuất hiện:
FileNotFoundError: Could not find module 'C:\Program Files\GDAL' (or one of its dependencies). Try using the full path with constructor syntax.
Em bất lực khi cài lại win đến 2 lần rồi mà vẫn chưa xử lý được ạ.
Hiện tại em đang sử dụng anaconda ver 4.12.0. GDAL em đã thử cài cả ở môi trường riêng của project và môi trường anaconda trên máy nhưng vẫn không được. Các giá trị trên enviroment của máy được setup đầy đủ.
Ai có kinh nghiệm về cái này có thể giúp em giải thoát được không ạ.
Em cảm ơn!

1 Like

Hi mọi người.
Mình đã sửa được lỗi theo hướng dẫn ở đây.
Ai gặp lỗi tương tự có thể tham khảo nhé.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?