Linux(ubuntu)에서 Python 특정버전 설치하기

2021. 11. 26. 13:17[개발] 지식/Python

처음에는 아래 블로그대로 apt로 설치하려고 했는데, 3.7.4 버전을 못찾는것 같아서 binary로 설치했다.

Ubuntu 16.04에서 Python 3.7 설치

위 블로그대로 진행하다가 repository 추가하는 부분이 이해가 안가서 아래 블로그도 찾아보았다.

[Ubuntu] 우분투 PPA

결론은 apt로 설치하는 것은 포기하고 binary로 설치에 성공했다.

Spec

  • ubuntu : 18.04.6 LTS
  • python : 3.7.4

빌드를 위한 리눅스 패키지 설치

sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

python 3.7.4 다운로드

버전별로 https://www.python.org/downloads/ 에서 url 을 찾고, 아래처럼 wget으로 다운로드

wget -e [https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz](https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz)

압축 해제, 빌드

tar xzf Python-3.7.9.tgz

압축옵션

  • c : 새로운 아카이브(tar) 생성
  • x : 압축 해제
  • v : 압축시 진행률 표시
  • z : gzip 압축 및 압축해제
  • f : 파일 이름 지정
  • C (대문자) : 압축 해제시 경로 지정

따라서 xzf 옵션은 gzip 압축을 해제하며 진행률을 표시한다는 의미

압축해제 디렉토리 이동, 빌드

cd Python-3.7.4
sudo ./configure --enable-optimizations
sudo make altinstall

enable-optimizations 옵션은 최적화된 빌드를 하겠다는 의미이다. make install 이 아닌 make altinstall을 하는 이유는 기존 python 바이너리를 덮어쓸 수 있기 때문이다. 정확한건 좀 더 스터디가 필요할 것 같다.

설치 후 버전 확인

python3.7 -V

설치된 버전이 출력된다. 한가지 의문점은 3.7.4를 설치했는데, 3.7로 네이밍 되어 있는 점이다. 그렇다면 예를들어 3.7.9를 다시 설치하면 어떻게 될까? 테스트가 필요할 것 같다.

Ref.

[python] 우분투에 파이썬 3.7 설치

<