오픈소스 관계형 데이터베이스로 널리 쓰이고 있는 Postgresql을 python에서 작동할 수 있도록 도와주는 psycopg2의 설치법을 linux와 windows 환경에 따라 정리한다. 본래 Postgresql이 linux 환경에 잘 맞는 데이터베이스이기 때문에 linux에서의 설치는 크게 어렵지 않다. windows에서는 특히 가상 환경을 이용할 때에 설치하는 방법을 기록하기 위해 이 글을 쓴다.

Linux(Ubuntu 16.04 LTS) 환경

pypi (python package installer)를 이용해서 간편히 설치할 수 있다.


# 기본 python 환경에서 설치
$ pip install psycopg2

# 가상 환경 virtualenv에서 설치
$ source venv/bin/activate
(venv) $ pip install psycopg2

Windows 환경

리눅스 환경일 때처럼 pip install psycopg2로는 제대로 작동하는 모듈을 설치할 수 없다. pypi에 등록된 psycopg2 모듈이 리눅스 환경에서만 잘 작동하는 모듈이기 때문이다. 감사하게도 이 모듈을 윈도우에서 사용할 수 있도록 제공하는 곳이 있다. 아래 링크에 들어가보자.

http://www.stickpeople.com/projects/python/win-psycopg/

이 곳에서 Python 버젼과 32bit/64bit 환경에 따라 psycopg2 binary installer를 제공하고 있다. 자신이 쓰고 있는 python 버젼에 맞는 설치 파일을 받아서 실행하면 기본 python 환경에 설치할 수 있다.

문제는 python 가상 환경을 이용할 경우이다. 위의 installer로는 가상 환경에서 psycopg2를 설치할 수 없다. 윈도우 python 가상 환경에서 psycopg2를 설치하는 방법은 두 가지이다.

Windows 환경 + Python 가상 환경 (virtualenv)

하나는 가상 환경 안에서 easy_install을 사용해서 설치파일을 직접 가르키도록 하는 방법이다. 위의 설치 파일이 있는 곳에서 알맞는 installer의 주소를 복사해서 다음과 같이 입력하자. 물론 가상 환경 안에서 말이다.


# 예를 들어 64bit 윈도우의 Python 3.5 버젼이면
(venv) > easy_install http://www.stickpeople.com/projects/python/win-psycopg/2.6.2/psycopg2-2.6.2.win32-py3.5-pg9.5.3-release.exe

다른 한 가지 방법은 github 저장소에 등록되어 있는 미리 컴파일된 라이브러리를 통해 설치하는 방법이다. 아래 링크를 들어가보자.

https://github.com/nwcell/psycopg2-windows

README.md의 내용을 보면 손쉽게 설치법을 알 수 있다.


# Windows 32bit
# Python 2.5
(venv) > pip install git+https://github.com/nwcell/psycopg2-windows.git@win32-py25#egg=psycopg2
# Python 2.6
(venv) > pip install git+https://github.com/nwcell/psycopg2-windows.git@win32-py26#egg=psycopg2
# Python 2.7
(venv) > pip install git+https://github.com/nwcell/psycopg2-windows.git@win32-py27#egg=psycopg2
# Python 3.2
(venv) > pip install git+https://github.com/nwcell/psycopg2-windows.git@win32-py32#egg=psycopg2
# Python 3.3
(venv) > pip install git+https://github.com/nwcell/psycopg2-windows.git@win32-py33#egg=psycopg2
# Python 3.4
(venv) > pip install git+https://github.com/nwcell/psycopg2-windows.git@win32-py34#egg=psycopg2
# Windows 64bit
# Python 2.5
(venv) > pip install git+https://github.com/nwcell/psycopg2-windows.git@win64-py25#egg=psycopg2
# Python 2.6
(venv) > pip install git+https://github.com/nwcell/psycopg2-windows.git@win64-py26#egg=psycopg2
# Python 2.7
(venv) > pip install git+https://github.com/nwcell/psycopg2-windows.git@win64-py27#egg=psycopg2
# Python 3.2
(venv) > pip install git+https://github.com/nwcell/psycopg2-windows.git@win64-py32#egg=psycopg2
# Python 3.3
(venv) > pip install git+https://github.com/nwcell/psycopg2-windows.git@win64-py33#egg=psycopg2
# Python 3.4
(venv) > pip install git+https://github.com/nwcell/psycopg2-windows.git@win64-py34#egg=psycopg2

내용이 많아보이기 위해 모든 버젼 별로 설치 명령어를 나열해보았다. (링크해 둔 github 페이지에 다 있는 내용이다)

여기서는 설치법만 다뤄보았다. 사용법은 추후 시간이 나면 써봐야겠다.