2편 - ‘파이참(PyCharm)에 Odoo 환경 설정하기’


이 글을 읽기 전!

⚠️  MacOS를 기준으로 작성된 글입니다.


회사에서 Odoo를 사용해 개발을 하게 되면서 처음 Odoo를 접하게 되었다. Odoo는 사용자가 그리 많지 않기 떄문에 딱 맞는 설치 가이드를 찾기 어렵다. 때문에 나 또한 처음 설치 과정에서 많은 어려움을 겪었고, 🥲  블로그에 정리해 놓으면 좋겠다는 생각이 들어 정리하게 되었다.

홈브루(Homebrew)

홈브루를 통해 Odoo를 실행하는데 필요한 데이터베이스와 파이썬 가상 환경 패키지들을 설치한다. 홈브루가 설치되어 있지 않다면, 아래 링크를 따라 설치 후 진행한다.


👉  MacOS에서 홈브루(Homebrew) 설치하기

postgresql 설치

Odoo에서는 데이터베이스로 PostgreSQL을 사용한다.

⚠️  필요에 따라 다른 버전을 사용해도 되지만, 10 버전 이후 버전을 사용해야 한다.

$ brew install postgresql@11


👉  홈브루에 다른 postgresql 버전 보기

pyenv 설치

pyenv는 로컬에서 다양한 Python 버전을 사용할 수 있도록 해서 Python 버전에 대한 의존성을 해결할 수 있다.

$ brew install pyenv

환경 변수 설정

bash를 사용하는 경우, ~/.zshrc 대신 ~/.bashrc로 변경해 명령어를 실행한다.

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc

pyenv-virtualenv

virtualenv는 로컬에서 다양한 Python 환경을 사용할 수 있도록 한다.

$ brew install pyenv-virtualenv 

환경 변수 설정

bash를 사용하는 경우, ~/.zshrc 대신 ~/.bashrc로 변경해 명령어를 실행한다.

$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
$ echo 'export PYENV_VIRTUALENV_DISABLE_PROMPT=1' >> ~/.zshrc

Odoo 설치

소스 코드 다운로드

Odoo 버전 13에 소스 코드를 clone 받아, 헷갈리지 않도록 디렉토리 이름을 odoo-13으로 지정한다.

$ git clone -b 13.0 --single-branch https://github.com/odoo/odoo odoo-13

파이썬 세팅

파이썬 3.7.6 버전을 사용한다. 꼭 3.7.6 버전이 아닌 3.7대 버전을 사용하면 된다.

$ pyenv install 3.7.6

가상 환경 생성

clone 받은 odoo-13 디렉토리 경로로 이동해, odoo-13-venv라는 이름으로 파이썬 가상 환경을 생성한다.

$ pyenv virtualenv 3.7.6 {가상환경명}
$ pyenv virtualenv 3.7.6 odoo-13-venv


가상 환경이 생성되었다면, odoo-13 디렉토리 경로 접근 시에 odoo-13-venv 가상 환경을 사용하도록 local 명령어를 사용해 가상 환경을 지정한다.

$ pyenv local {가상환경명}
$ pyenv local odoo-13-venv

pip 설치

pip를 통해 Odoo를 실행하는데 필요한 패키지를 설치한다.

$ pip install -r requirements.txt


🚨  설치 도중 Pillow 패키지에서 오류가 난다면 pip 버전을 업그레이드한 후에 다시 진행한다.

$ pip install --upgrade pip

Odoo 환경 설정

.odoorc 생성

odoo에 관한 환경 설정은 .odoorc 파일에 정의해 사용한다. 아래 명령어를 실행하면 Home 디렉토리에 .odoorc 파일이 생성된다.

$ python ./odoo-bin --save

.odoorc 가져오기

Home 디렉토리에 생성된 .odoorc 파일을 odoo-13 디렉토리에 config 디렉토리로 이동시킨다. config 디렉토리가 없다면 생성한다.

$ mv ~/.odoorc ./config/


디렉토리 구조는 아래와 같이 된다.

|-- odoo-13
|   ├── addons 
|   ├── config 
|   │   └── .odoorc 
|   ├── debian 
|   ├── doc
// 일부 생략

.odoorc 수정

.odoorc 파일에서 아래 목록에 경로들이 odoo-13 디렉토리의 경로와 다르다면 지금 설치하고자 하는 odoo-13 디텍토리의 경로로 수정한다.

addons_path = {odoo-13 path}/odoo/addons, {odoo-13 path}/addons
data_dir = {odoo-13 path}/config
logfile = {odoo-13 path}/config/log/odooserver.log


디렉토리 구조는 아래와 같이 된다.

|-- odoo-13
|   ├── addons 
|   ├── config 
|   │   └── log 
|   │   │   ├── odooserver.log
|   │   └── .odoorc 
|   ├── debian 
|   ├── doc
// 일부 생략

Odoo 실행

postgresql 실행

홈브루를 통해 설치한 postgresql을 실행시킨다. 🐘

$ brew services start postgresql@11

Odoo 실행

아래와 같이 명령어를 입력하면 Odoo가 실행된다.

$ python ./odoo-bin --config=./config/.odoorc


🚨  실행 시 아래와 같이 오류가 나타난다면 psycopg2-binary 패키지를 설치한 후에 다시 진행한다.

/Users/parkbohee/.pyenv/versions/odoo-13-venv/lib/python3.7/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>.
  """)
$ pip install psycopg2-binary


localhost:8069에 접속했을 때, 아래와 같은 페이지가 나타나면 Odoo 설치 성공이다! ✌️

Odoo 접속 시 나타나는 페이지

마치며, 🙇🏻

파이썬 3.8 대 버전도 사용해봤지만, 패키지 설치 중 오류가 많이 나서 설치가 조금 힘들었던 기억이 난다. 🤔

참고한 사이트

https://www.odoo.com/documentation/13.0/setup/install.html#mac-os