파이썬 설치

ubuntu: Python with apt-get (설치/제거)

apt-get으로 설치명령과 로그는 다음과 같습니다.

실제 설치 로그는 다음과 같습니다.

ubuntu@e7d50d:~$ sudo apt-get install python
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python-minimal python2.7 python2.7-minimal
Suggested packages:
  python-doc python-tk python2.7-doc binutils binfmt-support
The following NEW packages will be installed:
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-minimal python2.7 python2.7-minimal
0 upgraded, 7 newly installed, 0 to remove and 9 not upgraded.
Need to get 3,915 kB of archives.
After this operation, 16.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://oracle.clouds.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython2.7-minimal amd64 2.7.12-1ubuntu0~16.04.1 [339 kB]
Get:2 http://oracle.clouds.archive.ubuntu.com/ubuntu xenial-updates/main amd64
# 중간 로그 생략
Get:7 http://oracle.clouds.archive.ubuntu.com/ubuntu xenial/main amd64 python amd64 2.7.11-1 [137 kB]
Fetched 3,915 kB in 2s (1,543 kB/s)
## 중간로그 생략
Setting up python2.7 (2.7.12-1ubuntu0~16.04.1) ...
Setting up libpython-stdlib:amd64 (2.7.11-1) ...
Setting up python (2.7.11-1) ...
ubuntu@e7d50d:~$ python --version
Python 2.7.12
ubuntu@e7d50d:~$

python 제거 방법으 다음과 같습니다.

sudo apt-get purge python

실제 설치 로그는 다음과 같습니다.

ubuntu@e7d50d:~$ sudo apt-get purge python
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python-minimal python2.7 python2.7-minimal
# 중간로그 생략
After this operation, 650 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 82584 files and directories currently installed.)
Removing python (2.7.11-1) ...
Purging configuration files for python (2.7.11-1) ...
Processing triggers for man-db (2.7.5-1) ...

리눅스 Python 소스 설치

CentOS, Oracle Linux, Redhat Enterprise 리눅스에서는 다음과 같이 소스로 파이썬을 설치할 수 있습니다.

Python 2.7 소스코드: 다운로드

소스코드의 위치는 다음 페이지에서 확인 가능합니다. - https://www.python.org/downloads/

Python-2.7.12의 소스 파일 위치는 다음과 같습니다.
- https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz

다음과 같이 wget 명령으로 파이썬 파일을 다운로드 할 수 있씁니다.

[opc@b4b8b6 ~]$ wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz
--2017-09-07 03:53:10--  https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz
Resolving www.python.org... 151.101.40.223, 2a04:4e42:a::223
Connecting to www.python.org|151.101.40.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12390820 (12M) [application/octet-stream]
Saving to: “Python-2.7.12.tar.xz”

100%[==========================================================================================================>] 12,390,820  4.23M/s   in 2.8s

2017-09-07 03:53:16 (4.23 MB/s) - “Python-2.7.12.tar.xz” saved [12390820/12390820]

Python 2.7 소스코드: 압축풀기

[opc@b4b8b6 ~]$ tar xJvf Python-2.7.12.tar.xz
...
# 로그 생략
Python-2.7.12/Demo/tix/bitmaps/rightj.xbm
Python-2.7.12/Demo/tix/bitmaps/combobox.xbm
Python-2.7.12/Demo/tix/bitmaps/leftj.xbm

Python 2.7 소스코드: config

[opc@b4b8b6 ~]$ cd Python-2.7.12
[opc@b4b8b6 Python-2.7.12]$ ./configure --prefix=/usr/local/python2.7 --enable-shared
## 로그 생략
checking for ensurepip... no
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Modules/Setup.config
config.status: creating Misc/python.pc
config.status: creating Modules/ld_so_aix
config.status: creating pyconfig.h
creating Modules/Setup
creating Modules/Setup.local
creating Makefile
[opc@b4b8b6 Python-2.7.12]$

Python 2.7 소스코드: 빌드 테스트

빌드 테스트를 다음과 같이 수행합니다.

[opc@b4b8b6 Python-2.7.12]$ make test
## 로그 생략
[401/401] test_zlib
test_zlib skipped -- No module named zlib
353 tests OK.
1 test altered the execution environment:
    test_ftplib
47 tests skipped:
    test_aepack test_al test_applesingle test_bsddb185 test_bsddb3
    test_bz2 test_cd test_cl test_codecmaps_cn test_codecmaps_hk
    test_codecmaps_jp test_codecmaps_kr test_codecmaps_tw test_curses
    test_dl test_gdb test_gl test_gzip test_idle test_imageop
    test_imgfile test_kqueue test_linuxaudiodev test_macos
    test_macostools test_msilib test_ossaudiodev test_readline
    test_scriptpackages test_smtpnet test_socketserver test_sqlite
    test_ssl test_startfile test_sunaudiodev test_tcl test_timeout
    test_tk test_ttk_guionly test_ttk_textonly test_turtle
    test_urllib2net test_urllibnet test_winreg test_winsound
    test_zipfile64 test_zlib
12 skips unexpected on linux2:
    test_bz2 test_gdb test_gzip test_idle test_readline test_ssl
    test_tcl test_tk test_ttk_guionly test_ttk_textonly test_turtle
    test_zlib

Python 2.7 소스코드: 설치

make install으로 설치를 시작합니다.

[opc@b4b8b6 Python-2.7.12]$ sudo make install

Python 2.7 소스코드: 환경 변수 설정

.bash_profile 혹은 .zshrc에 다음과 같이 환경 변수 설정을 추가합니다.

PY27=/usr/local/python2.7/
export PATH=$PATH:${PY27}/bin
export LD_LIBRARY_PATH=${PY27}/lib:$LD_LIBRARY_PATH

Python 2.7 소스코드: 쉘 설정 반영

다음과 같이 shell 설정을 반영하고 python 설치 여부를 확인 합니다.

[opc@b4b8b6 Python-2.7.12] source ~/.bash_profile
[opc@b4b8b6 Python-2.7.12]$ python --version
Python 2.7.12
[opc@b4b8b6 Python-2.7.12]$ which python
/usr/local/python2.7/bin/python
[opc@b4b8b6 Python-2.7.12]$

리눅스 Python RPM 설치

//todo

김태완 avatar
작성자: 김태완
1999년 부터 Java, Framework, Middleware, SOA, DB Replication, Cache, CEP, NoSQL, Big Data, Cloud를 키워드로 살아왔습니다. 현재는 빅데이터와 Machine Learning을 중점에 두고 있습니다.
E-mail: taewanme@gmail.com