준호씨의 블로그

python2 설치. 소스코드 빌드 해서 설치 하기 본문

개발이야기

python2 설치. 소스코드 빌드 해서 설치 하기

준호씨 2020. 9. 16. 00:05

참고로 python2는 지원이 종료되었습니다.

 

2020년 1월 1일 python2 지원 종료. 마지막 버전은 2.7.18 2020년 4월 20일 출시?

www.python.org/downloads/에서 캡처한 Active Python Releases입니다. Python 2.7 버전이 2020년 1월 1일을 기점으로 지원이 종료되었습니다. 그런데 아래쪽을 보면 2.7.18이 2020년 4월 20일에 릴리즈 되었습니..

junho85.pe.kr

아직 python2를 사용하는 곳들이 남아 있어서 기록으로 남깁니다. 가급적이면 python3 이상 사용하시길 바랍니다.

 

다운로드

python 소스코드는 www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

에서 다운로드할 수 있습니다.

브라우저에서 다운로드할 수도 있지만 편의상 터미널에서 받으려면

$ wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz

wget 등의 커맨드로 다운로드하면 됩니다.

압축 풀기

압축을 푸는 방법도 여러 가지가 있겠지만 저는 편의상 tar 명령어를 이용해서 풀어주었습니다.

$ tar xvfz Python-2.7.18.tgz

 

빌드하고 설치 하기

$ cd Python-2.7.18/
$ ./configure && make && sudo make install

압축 푼 경로로 들어가서 configure, make, make install 하면 됩니다.

다만 기본 prefix 가 /usr/local/ 이기 때문에 python 커맨드는 /usr/local/bin/python 에 위치하게 됩니다.

만약 다른 경로로 설치하고 싶다면 configure 할 때 prefix를 지정해 주면 됩니다.

 

/program/Python-2.7.18에 설치하는 예제입니다.

$ ./configure --prefix=/program/Python-2.7.18 && make && sudo make install

 

저는 /Users/junho85/Python-2.7.18에 설치했습니다.

$ ./configure --prefix=/Users/junho85/Python-2.7.18 && make && make install

install 할 때 root 권한이 필요 없는 경로라 sudo를 뺐습니다.

 

설치된 python이 실행되는지 확인해 봅니다.

$ /Users/junho85/Python-2.7.18/bin/python --version
Python 2.7.18

 

pip 설치

빌드해서 python2를 설치하고 나면 pip가 동작을 하지 않습니다.

$ ./python -m pip
/Users/junho85/Python-2.7.18/bin/python: No module named pip

 

ensurepip모듈을 실행시키면 pip를 설치합니다.

$ ./python -m ensurepip
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Looking in links: /var/folders/f7/qrs7vm1n5pddvxcmxkl850ch0000gn/T/tmpU5u9to
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-19.2.3 setuptools-41.2.0

 

이제 pip를 이용해서 requests 모듈을 설치해 봅니다.

$ ./python -m pip install requests

 

테스트

간단히 https 요청을 해 보는 코드를 만들어 봅니다.

test.py

import requests
response = requests.get("https://httpbin.org/get")
print(response.text)

 

코드를 실행해 봅니다.

$ ./python test.py
{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Host": "httpbin.org",
    "User-Agent": "python-requests/2.24.0",
    "X-Amzn-Trace-Id": "Root=1-5f60bd63-f24f6f78c7ade3d01bd666ea"
  },
  "origin": "14.47.185.136",
  "url": "https://httpbin.org/get"
}

 

잘 동작하네요 :)

https 요청을 테스트해 본 것은 예전에 python3는 소스코드를 빌드해서 설치하면 ssl이 잘 안되더라고요. 혹시나 해서 테스트해 봤는데 잘 되네요. 참고로 테스트 환경은 OSX입니다.

다음에는 python3을 소스코드 빌드해서 설치해 보겠습니다.

0 Comments
댓글쓰기 폼