CentOS 7 리눅스에는 기본적으로 파이썬 2.7이 설치되어 있다.
기존에 설치된 건 버전이 낮아서 사용이 불가능하다.
아래 명령어는 리눅스 관리자권한에서 직접 붙여넣기 편하게 앞에 #을 제거했다. #은 주석으로 인식하므로...
메모장 또는 EditPlus 같은 에디터를 이용하여 아래 내용을 Drag 하고 복사하여 붙여넣기를 한 다음에 CentOS 7 에서 명령어를 입력하면 편리하다.
yum -y install epel-release
yum -y install gcc openssl-devel bzip2-devel libffi-devel sqlite-devel
#yum -y install sqlite*
# root 디렉토리 또는 임의의 디렉토리에서 실행한다.
# python 최신 버전을 확인하려면 https://www.python.org/ftp/python/ 를 한다. 그리고 아래 빨간색 부분을 변경
wget https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tgz
tar -xvf Python-3.9.5.tgz
cd Python-3.9.5/
./configure --enable-optimizations
make altinstall
# make && make intall 절대 하지 말길
# 설치된 파이썬 3.9 바이너리 파일이 어디있는지 확인한다.
which python3.9
# bash파일에 파이썬 별칭을 만든다.
vi /root/.bashrc
alias python3="/usr/local/bin/python3.9"
를 추가하고 :wq 로 빠져나온다.
# source명령어로 적용시킨다.
source /root/.bashrc
# 파이썬 버전을 출력해보면 된다.
# python3.9를 python 으로 변경하면 yum 설치 등 환경설정을 별도 작업해줘야 할 일이 좀 있어서 그냥 python3 으로 설치를 했다.
yum -y install python 으로 설치하면 python 3.6.8 이 기본 설치되어 소스 설치로 좀 더 높은 버전을 설치했다.
# 원래 상태로 되돌리기
- 위에 입력한 alias 라인을 지운다. (저장후 나감) # hash -r → bash cache를 초기화 (alias삭제후 python3 명령어 치면 계속 /usr/local/bin/python3.9 를 찾는다) |
# yum 동작을 위한 파이썬
vi /usr/bin/yum
#!/usr/bin/python 으로 되어 있다.
만약 yum install python3 를 했다면 같은 디렉토리에 파이썬 2.7 버전과 3.6 버전이 설치된다.
이 경우에는
#!/usr/bin/python2.7
로 명확하게 지정해줘야 yum 설치 기능이 동작된다.
내 경우는 python3.9 를 별도 소스 설치했고 python3 로 동작시키도록 했으므로 굳이 변경할 필요는 없다.
가상환경 설정
가상환경 만들기
먼저 가상환경을 만들 디렉토리를 설정한다. 가상환경 이름은 django 라고 설정했다.
mkdir -p /home/httpd/python
cd /home/httpd/python
virtualenv django
가상환경 활성화
source django/bin/activate
또는 절대경로 전체를 적어줘도 된다.
가상환경 비활성화
deactivate
장고 설치
pip install django
장고 REST Framework 설치
pip install djangorestframework
여기까지는 문제없이 잘되었다.
문제는 SQLite3 DB 인식을 하도록 하는 것에서 실패하여 파이썬3를 yum 설치하는 방법으로 해결했다.
'파이썬 > Python 환경설정' 카테고리의 다른 글
How to install Python 3.10.2 with SSL on CentOS 7 (2) | 2022.03.21 |
---|---|
CentOS 7 Python 3 MairaDB 10.3 설치 및 해결책? (0) | 2021.07.18 |
[vscode] 파이썬 자동 완성 기능 (0) | 2021.06.23 |
[vscode] python extension loading 에러 (0) | 2021.06.22 |
pip install pandas (0) | 2021.05.11 |