Python 3.9.5 ๋ฒ์ ์ ์ฌ์ฉํฉ๋๋ค.
Linux Python ์ค์น
Linux ๊ณ์ด์ ์ด์์ฒด์ ์์๋ ์ด๋ฏธ Python 2๋ Python 3๊ฐ ์ค์น๋์ด ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด๋ฒ ์ค์ต์์๋ CentOS ํ๊ฒฝ์์ Python์ ์ค์นํ๋ ์ค์ต์ ์งํํด ๋ณด๊ฒ ์ต๋๋ค.
$ yum groupinstall 'Development Tools'
$ yum install openssl-devel bzip2-devel libffi-devel wget
์ค์น์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ฌ์ ์ ์ค์นํด์ค๋ค.
Python ํํ์ด์ง์์ ์ค์นํ์ผ์ ๋ฐ์ ์ ์์ต๋๋ค. Downloads ํญ์์ Linux์ python ๋ฒ์ ๋ณ ์ค์นํ์ผ์ ํ์ธํฉ๋๋ค.
2021๋ 06์ 01์ผ ๊ธฐ์ค์ผ๋ก Stable ๋ฒ์ (์์ ํ๋ ๋ฒ์ )์ธ 3.9.5 ๋ฒ์ ์ source ํ์ผ์ ์ค์นํด์ค ๊ฒ ์ ๋๋ค. linux CLI(Command Line Interface)์์ wget์ ์ด์ฉํด์ ๋ฐ์ ์ค๊ฒ๋๋ค. ์ฐํด๋ฆญํด์ ํด๋น ๋ค์ด๋ก๋ ๋ฐ์ ๋งํฌ๋ฅผ ๋ณต์ฌํด ์ค๋๋ค.
$ wget https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tgz
wget ๋ช ๋ น์ ์ด์ฉํด์ ์ค์นํ์ผ์ ๋ฐ์์ต๋๋ค.
$ tar xvf Python-3.9.5.tgz
$ cd Python-3.9.5
# --enable-optimizations ์ต์
์ ๋ช
์ํ๋ฉด Profile Guided Optimization ์ด๋ผ๋ ๊ฒ์ ์ฌ์ฉํ๋๋ฐ...
# ์ด๋ ๋น๋ํ๋๋ฐ ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง... ๊ฒฐ๊ณผ์ ์ผ๋ก python ์ฝ๋๋ฅผ ์คํํ๋ ์ธํฐํ๋ฆฌํฐ์ ์๋๋ฅผ ๋น ๋ฅด๊ฒ ํด์ค๋ค.
$ ./configure --enable-optimizations
# make install์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๊ธฐ์กด python์ ๋ฎ์ด ์ฐ๊ธฐ ๋๋ฌธ์ altinstall์ ์ฌ์ฉํ๋ค.
$ make altinstall
๋ฐ์ ์์คํ์ผ์ ์์ถ ํ๊ณ ์ปดํ์ผ ๋ฐ ๋น๋(python ์ค์น)ํด์ฃผ๋ ์์ ์ ์งํํ๋ค.
# python ๋ฒ์ ํ์ธ
$ python3.9 -V
# pip ํจํค์ง ๊ด๋ฆฌ ๋๊ตฌ ๋ฒ์ ํ์ธ
$ pip3.9 -V
python๊ณผ python ํจํค์ง ๊ด๋ฆฌ ๋๊ตฌ์ธ pip์ ๋ฒ์ ์ ํ์ธํ๋ค.
์ค์น๊ฐ ์๋ฃ๋๋ฉด ์ค์น๋ฅผ ์ํด ์์ถํด์ ํ ํด๋ ๊ฒฝ๋ก์ ์์ถํ์ผ์ ์ญ์ ํด๋ ๋๋ค.
# ์ฌ๋ณผ๋งํฌ๋ฅผ ์ถ๊ฐํ๋ค.
$ ln -s /usr/local/bin/python3.9 /bin/python3
# ์ฌ๋ณผ๋งํฌ ํ์ธ
$ ls -l /bin/python*
python3๋ผ๋ ๋ช ๋ น์ด๋ก python์ ์คํํ๊ธฐ ์ํด ์ฌ๋ณผ๋งํฌ(ํน์ ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ์ ๋ํ ์ฐธ์กฐ --> ์๋์ฐ์์ ๋ฐ๋ก๊ฐ๊ธฐ์ ๋์ผ)๋ฅผ ๋ง๋ ๋ค. ๊ทธ๋ฅ "python" ๋ช ๋ น์ผ๋ก ์คํํ๊ณ ์ถ์ผ๋ฉด "unlink /bin/python" ๋ช ๋ น์ผ๋ก ๊ธฐ์กด์ ์ฌ๋ณผ๋งํฌ๋ฅผ ์ ๊ฑฐํ๊ณ ์๋กญ๊ฒ ๋ง๋ค์ด์ฃผ๋ฉด ๋์ง๋ง... ๊ธฐ์กด python2์๋ํ dependency(์์กด์ฑ)๊ฐ ์กด์ฌํ์ฌ ์ ๋์๊ฐ๋ ํ๋ก๊ทธ๋จ์ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์์ด ์ถ์ฒํ์ง๋ ์์ต๋๋ค. ํ๋ก๊ทธ๋๋ฐ์ ํ ๋ ์ด๋ค python ๋ฒ์ ์ ์ฌ์ฉํ ์ง ์ง์ ํด์ฃผ๋ฉด ๋๋ฏ๋ก ๋ช ๋ น์ ๋ํด์ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋๋ค.
Python ์ค์น ํ์ธ
$ python3 -V
Python 3.9.5
$ python3
Python 3.9.5 (default, Jun 1 2021, 01:24:41)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello Coding Log")
Hello Coding Log
์ค์น ์๋ฃ ํ ๋ฒ์ ๊ณผ terminal์์ ์ง์ python ์ฝ๋๋ฅผ ์์ฑํ์ฌ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๋๊ธ