1. 파이썬 버전 확인
$ python -V 또는 $ python --version
Python 3.11.2
2. 파이썬 3.11.2 삭제하기 (방법만 알고 가세요!)
* 삭제를 하면 동작이 안되는 APP들이 존재하므로
삭제하지 말고 진행 합니다.
$ sudo apt autoremove python3
$ sudo apt autoremove python2.7
$ sudo init 6
3. APT 저장소 업데이트
$ sudo apt update && sudo apt upgrade -y
*** 다음과 같은 에러가 생기면 ----
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
명령어를 실행하면 시스템에서 문제가 있는 패키지를 자동으로 감지하고 해당 패키지를 업데이트하거나
삭제하여 의존성 문제를 해결하기위해 다음 명령을 실행한다.
$ sudo apt --fix-broken install
4. 필수 패키지 설치
$ sudo apt install -y build-essential //있음
$ sudo apt install libffi-dev libssl-dev
$ sudo apt install -y zlib1g-dev //있음
$ sudo apt install -y liblzma-dev libbz2-dev
$ sudo apt install -y libsqlite3-dev libreadline-dev libncursesw5-dev libgdbm-dev
$ sudo apt install -y libnss3-dev libxml2-dev libxslt1-dev
$ sudo apt install libffi-dev curl //있음
5. Python 3.7를 /usr/src 디렉토리로 이동하고. 파이썬 공식 홈페이지로부터 3.7.12버전을 다운받는다.
$ cd /usr/bin
$ sudo w get
https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz
6. 다운 받은 Python-3.7.12.tgz를 압축 해제한다.
$ sudo tar -xvf Python-3.7.12.tgz
7. 생선된 Python-3.7.12 에 접근하여 컴파일한다.
$ cd Python-3.7.12
$ sudo ./configure --enable-optimizations
$ sudo make -j$(nproc)
☞ nproc : User당 사용할 수 있는 프로세스 최대 개수
8. 만들어진 결과물을 설치한다.
$ sudo make install
** /usr/bin 에 python3.7 명령이 생성된다.
9. python 링크 변경하기
<현재 링크>
python -> python3
python3 -> python3.11
python3.11
<링크 변경>
python -> python3
python3 -> python3.7.12
python3.7.12
$ sudo rm /usr/bin/python
$ sudo rm /usr/bin/python3
$ sudo ln -s /usr/local/bin/python3.7 /usr/bin/python3.7
$ sudo ln -s /usr/local/bin/python3 /usr/bin/python3
$ sudo ln -s /usr/bin/python3 /usr/bin/python
<변경 확인하기>
$ python --version
Python 3.7.12
10. pip를 3.7로 대체하기
1) 현제 pip 버전 확인하기
$ pip --version
pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11
2) 3.7 pip는 /usr/local/bin 에 있고, 현제 동작 중인 pip는 /uar/bin 에 있다.
*** /usr/bin 에 있는 pip에 old를 붙여 백업한다.
$ cd /usr/bin
$ sudo mv pip pip-old.3.11
$ sudo mv pip3 pip3-old.3.11
$ sudo mv pip3.11 pip3.11-old.3.11
3) link 명령으로 3.7 pip로 대치한다.
$ sudo ln -sf /usr/local/bin/pip3 /usr/bin/pip3
$ sudo ln -sf /usr/local/bin/pip3.7 /usr/bin/pip3.7
$ cd /usr/local
$ sudo ln -s pip3 pip
4) 변경 확인하기
$ pip --version
pip 20.1.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)