2017-09-23 15 views
1

GeoDjango 응용 프로그램에서 Heroku (Heroku-16 스택 사용)를 사용 중입니다.Heroku GeoDjango가 GDAL이 누락 된 문제 (및 GEOS 가능성이 있음)

  • GDAL v2의 : 응용 프로그램이 지리적 라이브러리,이 라이브러리의 소수에 대한 실험적인 지원이 가능한이 필요

    경우 : 내가 지침에 따라 오전

    다음 지정 here을 발견했다. 2.1 (삼나무 14 v1.11.5)

  • 그리고 proj v4.9.3 (삼나무 14 v4.8.0)
  • 지오스의 v3.6.2 (삼나무 14 v3.4.2)

하는 응용 프로그램에 이러한 라이브러리를 사용할 수 있도록하려면, 단순히 BUILD_WITH_GEO_LIBRARIES 환경 변수를 설정 :

$ heroku config:set BUILD_WITH_GEO_LIBRARIES=1 

를 다음 빌드하는 동안,이 라이브러리를 다운로드 및 설치됩니다. 장고 settings.py에서 은 또한 다음을 추가 :이 장고가 설치되어있는 GEOS 라이브러리를 찾을 수 있도록합니다

import dj_database_url 
DATABASES['default'] = dj_database_url.config() 
DATABASES['default']['ENGINE'] = 
'django.contrib.gis.db.backends.postgis' 

GDAL_LIBRARY_PATH = os.getenv('GDAL_LIBRARY_PATH') 
GEOS_LIBRARY_PATH = os.getenv('GEOS_LIBRARY_PATH') 

.

나는 Heroku가의 ENV 변수를 설정 :

2017-09-23T19:29:55.142378+00:00 app[web.1]:  % '", "'.join(lib_names) 
2017-09-23T19:29:55.142414+00:00 app[web.1]: 
django.core.exceptions.ImproperlyConfigured: Could not find the GDAL 
library (tried "gdal", "GDAL", "gdal2.1.0", "gdal2.0.0", "gdal1.11.0", 
"gdal1.10.0", "gdal1.9.0"). Is GDAL installed? If it is, try setting 
GDAL_LIBRARY_PATH in your settings. 

:

image

그러나, 나는 그것을 배포 할 시간 때이 차이를 만드는되지 않은 것으로 나타났습니다 여기 내 요구 사항 .txt :

dj-database-url==0.4.1 
Django==1.11.5 
gunicorn==19.6.0 
psycopg2==2.6.2 
pytz==2017.2 
whitenoise==3.2 

내가 여기있는 유일한 예외는 1.11.1 인 Heroku의 Django 프로젝트 템플릿이 기본값 인 대신 장고 1.11.5를 사용하고 있다는 것입니다. 이는 패치 된 프로젝트가 계속 작동하지 않도록하는 문제를 해결하는 것이 었습니다.

Procfile은 다음과 같습니다

web: gunicorn tagging_tracker_backend.wsgi 

runtime.txt은 다음과 같습니다

python-3.6.2 

Github에서의 환매 특약은 this 링크에 있습니다.

이 참고 :이 기능 (BUILD_WITH_GEO_LIBRARIES가)에만 삼나무-14에서 잘 작동하는 것으로 알려져

답변