RockyLinux 8에 python 설치 & virtualenv 구성방법

 

1.OS 패키지를 업데이트 합니다. 

시스템의 패키지를 최신 상태로 업데이트 합니다. (필수는 아닙니다.)

[root@buddy2:/]# dnf update -y

 

2.python 패키지를 설치 합니다.

단순히 dnf install python 로 입력, 설치하면 python3.6 이 설치됩니다.

python 3.6 과 3.9 를 선택 하여 설치 할 수 있으므로, 선택하여 설치한다.


1) python 3.6 설치

  • dnf install python36
[root@buddy2:/]# dnf install python36
Last metadata expiration check: 0:25:41 ago on Tue 13 Jun 2023 03:49:13 PM KST.
Dependencies resolved.
=============================================================================================================================================================================
 Package                                               Architecture                      Version                                                            Repository                            Size
=========================================================================================================================================================
Installing:
 python36                                              x86_64                            3.6.8-38.module+el8.5.0+671+195e4563                               appstream                             18 k
Upgrading:
 platform-python-setuptools                            noarch                            39.2.0-7.el8                                                       baseos                               631 k
Installing dependencies:
 python3-pip                                           noarch                            9.0.3-22.el8.rocky.0                                               appstream                             19 k
 python3-setuptools                                    noarch                            39.2.0-7.el8                                                       baseos                               162 k
Enabling module streams:
 python36                                                                                3.6

Transaction Summary
===========================================================================================================================================================
Install  3 Packages
Upgrade  1 Package

Total download size: 830 k
Is this ok [y/N]: N

2) python 3.9 설치

  • dnf install python39
[root@buddy2:/]# dnf install python39
Last metadata expiration check: 0:25:47 ago on Tue 13 Jun 2023 03:49:13 PM KST.
Dependencies resolved.
=======================================================================================================================================================================================================
 Package                                              Architecture                      Version                                                             Repository                            Size
=======================================================================================================================================================================================================
Installing:
 python39                                             x86_64                            3.9.16-1.module+el8.8.0+1111+d03fad2b                               appstream                             32 k
Installing dependencies:
 python39-libs                                        x86_64                            3.9.16-1.module+el8.8.0+1111+d03fad2b                               appstream                            8.2 M
 python39-pip-wheel                                   noarch                            20.2.4-7.module+el8.7.0+1064+ad564229                               appstream                            1.1 M
 python39-setuptools-wheel                            noarch                            50.3.2-4.module+el8.5.0+673+10283621                                appstream                            496 k
Installing weak dependencies:
 python39-pip                                         noarch                            20.2.4-7.module+el8.7.0+1064+ad564229                               appstream                            1.9 M
 python39-setuptools                                  noarch                            50.3.2-4.module+el8.5.0+673+10283621                                appstream                            870 k
Enabling module streams:
 python39                                                                               3.9

Transaction Summary
=======================================================================================================================================================================================================
Install  6 Packages

Total download size: 13 M
Installed size: 45 M
Is this ok [y/N]: N

 

3.설치된 버전을 확인 합니다.

[root@buddy2:/]# python3 --version
Python 3.9.16

 

4.가상 실행 환경 (Virtual Enviroment)을 구성 합니다.

가상 환경을 구성 하려는 디렉토리로 이동하여 설치 합니다. 아래의 예시는 venv 라는 디렉토리에 가상 환경을 구성합니다.

[root@buddy2:/data]# python3 -m venv venv
[root@buddy2:/data]# ls -al
total 0
drwxrwxr-x.  5 root root  74 Jun 13 16:30 venv

 

5.가상 환경을 실행 합니다.

Virtual Enviroment 으로 전환을 위해 아래와 같이 입력합니다.

[root@buddy2:/]# . venv/bin/activate
(venv) [root@buddy2:/data]#

또는 source 커맨드를 이용하여 전환 하여도 된다.

[root@buddy2:/]# source venv/bin/activate
(venv) [root@buddy2:/data]#

 

6.가상 환경에서 패키지 설치 하고 사용 합니다.

pip 패키지를 업데이트 하고, 원하는 패키지를 설치 하여 사용합니다.

[root@buddy2:/data]# pip3 list
Package    Version
---------- -------
pip        20.2.4
setuptools 50.3.2
WARNING: You are using pip version 20.2.4; however, version 23.1.2 is available.
You should consider upgrading via the '/data/venv/bin/python3 -m pip install --upgrade pip' command.


(venv) [root@buddy2:/data]# /data/venv/bin/python3 -m pip install --upgrade pip
Collecting pip
  Downloading pip-23.1.2-py3-none-any.whl (2.1 MB)
     |████████████████████████████████| 2.1 MB 9.5 MB/s
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.2.4
    Uninstalling pip-20.2.4:
      Successfully uninstalled pip-20.2.4
Successfully installed pip-23.1.2



[root@buddy2:/data]# pip3 install boto3
Collecting boto3
  Downloading boto3-1.26.152-py3-none-any.whl (135 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.6/135.6 kB 21.5 MB/s eta 0:00:00
Collecting botocore<1.30.0,>=1.29.152 (from boto3)
  Downloading botocore-1.29.152-py3-none-any.whl (10.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.9/10.9 MB 33.4 MB/s eta 0:00:00
Collecting jmespath<2.0.0,>=0.7.1 (from boto3)
  Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)
Collecting s3transfer<0.7.0,>=0.6.0 (from boto3)
  Downloading s3transfer-0.6.1-py3-none-any.whl (79 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.8/79.8 kB 4.4 MB/s eta 0:00:00
Collecting python-dateutil<3.0.0,>=2.1 (from botocore<1.30.0,>=1.29.152->boto3)
  Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 kB 537.2 kB/s eta 0:00:00
Collecting urllib3<1.27,>=1.25.4 (from botocore<1.30.0,>=1.29.152->boto3)
  Downloading urllib3-1.26.16-py2.py3-none-any.whl (143 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 143.1/143.1 kB 49.3 MB/s eta 0:00:00
Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1->botocore<1.30.0,>=1.29.152->boto3)
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Installing collected packages: urllib3, six, jmespath, python-dateutil, botocore, s3transfer, boto3
Successfully installed boto3-1.26.152 botocore-1.29.152 jmespath-1.0.1 python-dateutil-2.8.2 s3transfer-0.6.1 six-1.16.0 urllib3-1.26.16