운영중인 FastAPI 서버의 CRUD API 하나를 업데이트 할 일이 있어, 전날 배포할 코드를 작성하고 아침에 출근하자마자 가벼운 마음으로 배포하려했는데..
syntax error 가 났다.
수정도 안한 main.py 에서 에러가 나서 조금 당황했는데 나랑 똑같은 어이없는 실수 한 사람 덕에 바로 파악 가능했다.
평소에 사용하던 가상환경 활성을 깜빡하고 아래처럼 main.py 를 실행하려 해서 생긴 문제였다..
$ nohup python src/main.py 2>> error.log &
마침 궁금해서 찍어본 그냥 python 의 버전은
$ python --version
Python 2.7.18
$ python3 --version
Python 3.7.10
만약 가상환경을 사용하지 않았더라면 python3 로 실행해야 했다. 물론 따로 설치한 패키지들 때문에 실제로는 사용이 불가하지만..
현재 서버의 기본 파이썬은 2 이고, 3가 실행되도록 변경하고 싶다면 아래 방법들이 있다.
alias python=python3
별칭으로 등록하는 방법이며, 해제하고 싶다면 unalias
만 사용하면 된다.
alias 명령어는 bash 가 종료되면 재입력 해야함으로 home 경로의 .bashrc 파일을 수정해 자동으로 실행하게 하면 된다.
$ cd $HOME
$ vim .bashrc
# 파일 내부 명령모드 진입
i
# 파일 하단에 아래 command 삽입
alias python=python3
# 저장 및 나가기
:wq!
https://docs.python.org/ko/3/library/venv.html
공식문서에서 알려준대로 pyvenv.cfg 를 보니 서비스에서 사용중인 python version 은 3.7.10 이고
vim /home/계정/가상환경dir/pyvenv.cfg
Home = /usr/bin
include-system-site-packages = false
version = 3.7.10
서버에 설치된 python3 도 동일한 버전이어서 공식문서 커맨드로 가상환경 생성을 한 것으로 파악했다.
$ Python3 --version
Python 3.7.10
참고해볼만한 내용!