본문 바로가기

Python

pytz 데이터 업데이트하는 방법

sudo pip install pytz 혹은 sudo pip install —upgrade pytz로 설치나 업데이트를 할 수 있다.
그러나, http://www.iana.org/time-zones 업데이트가 며칠 되지 않아서 파이썬 라이브러리에 적용이 안되었을 경우 업데이트를 하는 방법을 소개하겠다.
iana.org에서 제공하는 소스는 C로 되어있다. 소스와 데이터를 같이 빌드하면 C lib를 만들 수 있다. 이 과정에서 pytz에서 사용하는 timezone data가 생성된다.

C소스와 데이터 얻기
mkdir tz
cd tz
wget –retr-symlinks ‘ftp://ftp.iana.org/tz/tz*-latest.tar.gz’
gzip -dc tzcode-latest.tar.gz | tar -xf –
gzip -dc tzdata-latest.tar.gz | tar -xf –

빌드하기
빌드 결과물이 생성될 폴더를 정하고, make시 이 폴더를 입력해준다.
여기서는 path/tzdir이라고 가정한다.
위의 path는 실제 tzdir까지의 폴더 패스이다.
가령 /home/myhome/temp/tzdir일 경우 /home/myhome/temp에 해당한다.
make TOPDIR=path/tzdir install

데이터 복사하기
python의 site-packages에 가서 pytz/zoneinfo폴더 내의 모든 파일을 지운다.
2번의 path/tzdir/etc/zoneinfo 내의 모든 파일을 site-packages/pytz/zoneinfo 폴더 내로 복사한다.


반응형

'Python' 카테고리의 다른 글

http://openflights.org/의 airlines.dat을 json으로 변환하기  (0) 2015.10.06