๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Python/๊ธฐ์ดˆ

[๊ฐœ๋ฐœ๋กœ๊ทธ Python] Python ์„ค์น˜ํ•˜๊ธฐ Linux - No.2-3

by ๐ŸŒปโ™š 2021. 6. 1.

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

์„ค์น˜์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์‚ฌ์ „์— ์„ค์น˜ํ•ด์ค€๋‹ค.

 

 

https://www.python.org/downloads/

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 ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€