반응형
기존 잘 동작하던 python elasticsearch pip 모듈에서 갑자기 아래와 같은 에러를 뱉어내기 시작했다.
Elasticsearch index() ERROR: ApiError(406, 'Content-Type header [application/vnd.elasticsearch+x-ndjson; compatible-with=8] is not supported', 'Content-Type header [application/vnd.elasticsearch+x-ndjson; compatible-with=8] is not supported')
원인을 알고보니 최근 다른 유저가 파이썬 시스템 버전의 elasicsearch pip 버전을 8 버전대로 올려서 생긴 문제였다. 현재 사용중인 elasticsearch는 7버전대를 사용중인데, pip 모듈이 8버전을 지원해서 생긴 문제였다.
그래서 위 문제는 단순히 elasticsearch pip 모듈을 7버전 대로만 변경해주면 된다. 다만 시스템 영역의 파이썬을 사용하는 건 로컬 머신 상에서 수행되는 다른 파이썬 프로젝트에도 영향을 미칠 수 있어서 가상화 환경을 설치하였다.
해결방법
# 가상환경 생성
$ python3 -m venv venv
# 가상 환경 실행
$. venv/bin/activate
# elasticsearch 버전 7.5.1로 지정하여 설치
(venv)$ pip install elasticsearch==7.5.1
# 파이썬 실행
(venv)$ python3 스크립트
아무튼 핵심은 운영하고 있는 elasticsearch 버전에 맞는 python elasticsearch 모듈을 써야 한다는 것이다.
반응형
'Python' 카테고리의 다른 글
[python] unix timestamp를 읽을 수 있는 datetime 형식 변환하기 (0) | 2022.11.22 |
---|---|
[python] LINE 메신저로 메시지 보내기 (Noti 주기) (0) | 2022.11.15 |
[python] 2차원 배열 0으로 초기화하기 (0) | 2022.11.07 |
[Python] 현재 시간 timezone 변경하기-pytz (UTC, KST ...) (0) | 2022.10.26 |
[Python] 현재 시간 UTC 기준으로 timezone 변경하기 (0) | 2022.10.26 |