見出し画像

[Python]CentOS7のPython2系を3系に変更する方法とDjangoインストール

1.なぜ2系から3系にするのか

今後PythonのWebフレームワークであるDjangoや
DBの一種であるPostgreSQLを使って色々遊びたいと思っています。
CentOS7上で構築していきたいと思っているのですが、デフォルトで
入っているのはPython2系。かなり古い。
色々なライブラリが2系のサポートを終了している。

今から2系というのは選択肢に入るわけないですし、
いつも3系に変更する方法をググって構築していたので
いい加減手順を整理しておこうと思いました。
※noteのコンテンツかさまし出来ますし・・・(笑)


2.デフォルトのバージョンを確認してみる

python -VでCentOS7が認識しているPythonのバージョンを
確認することが出来ますね。
デフォルトだと以下のようになっていました。

[root@localhost ~]# python -V 
Python 2.7.5


3.バージョンアップの手順

まずリポジトリを追加します。

[root@localhost ~]#  yum install -y https://repo.ius.io/ius-release-el7.rpm 
読み込んだプラグイン:fastestmirror 
ius-release-el7.rpm                                      | 8.2 kB     00:00 
/var/tmp/yum-root-elIB0K/ius-release-el7.rpm を調べています: ius-release-2-1.el7.ius.noarch 
/var/tmp/yum-root-elIB0K/ius-release-el7.rpm をインストール済みとして設定してい ます 
依存性の解決をしています 
--> トランザクションの確認を実行しています。 
---> パッケージ ius-release.noarch 0:2-1.el7.ius を インストール 
--> 依存性の処理をしています: epel-release = 7 のパッケージ: ius-release-2-1.el7.ius.noarch 
Determining fastest mirrors 
* base: ftp-srv2.kddilabs.jp 
* extras: ftp-srv2.kddilabs.jp 
* updates: ftp-srv2.kddilabs.jp 
base                                                     | 3.6 kB     00:00 
extras                                                   | 2.9 kB     00:00 
updates                                                  | 2.9 kB     00:00 
(1/4): extras/7/x86_64/primary_db                          | 236 kB   00:12 
(2/4): base/7/x86_64/group_gz                              | 153 kB   00:14 
base/7/x86_64/primary_db       FAILED 
http://ftp.iij.ad.jp/pub/linux/centos/7.9.2009/os/x86_64/repodata/6d0c3a488c282fe537794b5946b01e28c7f44db79097bb06826e1c0c88bad5ef-primary.sqlite.bz2: [Errno 12] Timeout on http://ftp.iij.ad.jp/pub/linux/centos/7.9.2009/os/x86_64/repodata/6d0c3a488c282fe537794b5946b01e28c7f44db79097bb06826e1c0c88bad5ef-primary.sqlite.bz2: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds') 
他のミラーを試します。 
base/7/x86_64/primary_db       FAILED 
http://ftp-srv2.kddilabs.jp/Linux/packages/CentOS/7.9.2009/os/x86_64/repodata/6d0c3a488c282fe537794b5946b01e28c7f44db79097bb06826e1c0c88bad5ef-primary.sqlite.bz2: [Errno 12] Timeout on http://ftp-srv2.kddilabs.jp/Linux/packages/CentOS/7.9.2009/os/x86_64/repodata/6d0c3a488c282fe537794b5946b01e28c7f44db79097bb06826e1c0c88bad5ef-primary.sqlite.bz2: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds') 
他のミラーを試します。 
(3/4): updates/7/x86_64/primary_db                         | 8.0 MB   05:47 
(4/4): base/7/x86_64/primary_db                            | 6.1 MB   01:13 
--> トランザクションの確認を実行しています。 
---> パッケージ epel-release.noarch 0:7-11 を インストール 
--> 依存性解決を終了しました。 
依存性を解決しました 
================================================================================ 
Package            アーキテクチャー 
                                バージョン        リポジトリー            容量 
================================================================================ 
インストール中: 
ius-release        noarch       2-1.el7.ius       /ius-release-el7       4.5 k 
依存性関連でのインストールをします: 
epel-release       noarch       7-11              extras                  15 k 
トランザクションの要約 
================================================================================ 
インストール  1 パッケージ (+1 個の依存関係のパッケージ) 
合計容量: 19 k 
総ダウンロード容量: 15 k 
インストール容量: 29 k 
Downloading packages: 
警告: /var/cache/yum/x86_64/7/extras/packages/epel-release-7-11.noarch.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY 
epel-release-7-11.noarch.rpm の公開鍵がインストールされていません 
epel-release-7-11.noarch.rpm                               |  15 kB   00:00 
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。 
Importing GPG key 0xF4A80EB5: 
Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>" 
Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 
Package    : centos-release-7-8.2003.0.el7.centos.x86_64 (@anaconda) 
From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 
Running transaction check 
Running transaction test 
Transaction test succeeded 
Running transaction 
 インストール中          : epel-release-7-11.noarch                        1/2 
 インストール中          : ius-release-2-1.el7.ius.noarch                  2/2 
 検証中                  : ius-release-2-1.el7.ius.noarch                  1/2 
 検証中                  : epel-release-7-11.noarch                        2/2 
インストール: 
 ius-release.noarch 0:2-1.el7.ius 
依存性関連をインストールしました: 
 epel-release.noarch 0:7-11 
完了しました!

リポジトリとは?
リポジトリを追加しないとCentOS7君が
「どこに取りに行けばええねん!!」って感じで怒ります。


Python3系をインストール。
ちょっと長いですが、入力したコマンドは最初の1行だけです。

[root@localhost ~]# yum install python36u python36u-libs python36u-devel python36u-pip 
読み込んだプラグイン:fastestmirror 
Loading mirror speeds from cached hostfile 
* base: ftp-srv2.kddilabs.jp 
* epel: ftp.iij.ad.jp 
* extras: ftp-srv2.kddilabs.jp 
* updates: ftp-srv2.kddilabs.jp 
パッケージ python36 は python3 によって不要になりました。代わりに python3-3.6.8-18.el7.x86_64 のインストールを試みています。 
パッケージ python36-libs は python3-libs によって不要になりました。代わりに python3-libs-3.6.8-18.el7.x86_64 のインストールを試みています。 
パッケージ python36-devel は python3-devel によって不要になりました。代わりに python3-devel-3.6.8-18.el7.x86_64 のインストールを試みています。 
パッケージ python36-pip は python3-pip によって不要になりました。代わりに python3-pip-9.0.3-8.el7.noarch のインストールを試みています。 
依存性の解決をしています 
--> トランザクションの確認を実行しています。 
---> パッケージ python3.x86_64 0:3.6.8-18.el7 を インストール 
--> 依存性の処理をしています: python3-setuptools のパッケージ: python3-3.6.8-18.el7.x86_64 
---> パッケージ python3-devel.x86_64 0:3.6.8-18.el7 を インストール 
--> 依存性の処理をしています: redhat-rpm-config のパッケージ: python3-devel-3.6.8-18.el7.x86_64 
--> 依存性の処理をしています: python3-rpm-macros のパッケージ: python3-devel-3.6.8-18.el7.x86_64 
--> 依存性の処理をしています: python3-rpm-generators のパッケージ: python3-devel-3.6.8-18.el7.x86_64 
--> 依存性の処理をしています: python-rpm-macros のパッケージ: python3-devel-3.6.8-18.el7.x86_64 
---> パッケージ python3-libs.x86_64 0:3.6.8-18.el7 を インストール 
--> 依存性の処理をしています: libtirpc.so.1()(64bit) のパッケージ: python3-libs-3.6.8-18.el7.x86_64 
---> パッケージ python3-pip.noarch 0:9.0.3-8.el7 を インストール 
--> トランザクションの確認を実行しています。 
---> パッケージ libtirpc.x86_64 0:0.2.4-0.16.el7 を インストール 
---> パッケージ python-rpm-macros.noarch 0:3-34.el7 を インストール 
--> 依存性の処理をしています: python-srpm-macros のパッケージ: python-rpm-macros-3-34.el7.noarch 
---> パッケージ python3-rpm-generators.noarch 0:6-2.el7 を インストール 
---> パッケージ python3-rpm-macros.noarch 0:3-34.el7 を インストール 
---> パッケージ python3-setuptools.noarch 0:39.2.0-10.el7 を インストール 
---> パッケージ redhat-rpm-config.noarch 0:9.1.0-88.el7.centos を インストール 
--> 依存性の処理をしています: dwz >= 0.4 のパッケージ: redhat-rpm-config-9.1.0-88.el7.centos.noarch 
--> 依存性の処理をしています: zip のパッケージ: redhat-rpm-config-9.1.0-88.el7.centos.noarch 
--> 依存性の処理をしています: perl-srpm-macros のパッケージ: redhat-rpm-config-9.1.0-88.el7.centos.noarch 
--> 依存性の処理をしています: perl(Getopt::Long) のパッケージ: redhat-rpm-config-9.1.0-88.el7.centos.noarch 
--> 依存性の処理をしています: /usr/bin/perl のパッケージ: redhat-rpm-config-9.1.0-88.el7.centos.noarch 
--> トランザクションの確認を実行しています。 
---> パッケージ dwz.x86_64 0:0.11-3.el7 を インストール 
---> パッケージ perl.x86_64 4:5.16.3-299.el7_9 を インストール 
--> 依存性の処理をしています: perl-libs = 4:5.16.3-299.el7_9 のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(Socket) >= 1.3 のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(Scalar::Util) >= 1.10 のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl-macros のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl-libs のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(threads::shared) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(threads) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(constant) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(Time::Local) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(Time::HiRes) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(Storable) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(Socket) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(Scalar::Util) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(Pod::Simple::XHTML) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(Pod::Simple::Search) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(Filter::Util::Call) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(File::Temp) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(File::Spec::Unix) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(File::Spec::Functions) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(File::Spec) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(File::Path) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(Exporter) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(Cwd) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: perl(Carp) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
--> 依存性の処理をしています: libperl.so()(64bit) のパッケージ: 4:perl-5.16.3-299.el7_9.x86_64 
---> パッケージ perl-Getopt-Long.noarch 0:2.40-3.el7 を インストール 
--> 依存性の処理をしています: perl(Pod::Usage) >= 1.14 のパッケージ: perl-Getopt-Long-2.40-3.el7.noarch 
--> 依存性の処理をしています: perl(Text::ParseWords) のパッケージ: perl-Getopt-Long-2.40-3.el7.noarch 
---> パッケージ perl-srpm-macros.noarch 0:1-8.el7 を インストール 
---> パッケージ python-srpm-macros.noarch 0:3-34.el7 を インストール 
---> パッケージ zip.x86_64 0:3.0-11.el7 を インストール 
--> トランザクションの確認を実行しています。 
---> パッケージ perl-Carp.noarch 0:1.26-244.el7 を インストール 
---> パッケージ perl-Exporter.noarch 0:5.68-3.el7 を インストール 
---> パッケージ perl-File-Path.noarch 0:2.09-2.el7 を インストール 
---> パッケージ perl-File-Temp.noarch 0:0.23.01-3.el7 を インストール 
---> パッケージ perl-Filter.x86_64 0:1.49-3.el7 を インストール 
---> パッケージ perl-PathTools.x86_64 0:3.40-5.el7 を インストール 
---> パッケージ perl-Pod-Simple.noarch 1:3.28-4.el7 を インストール 
--> 依存性の処理をしています: perl(Pod::Escapes) >= 1.04 のパッケージ: 1:perl-Pod-Simple-3.28-4.el7.noarch 
--> 依存性の処理をしています: perl(Encode) のパッケージ: 1:perl-Pod-Simple-3.28-4.el7.noarch 
---> パッケージ perl-Pod-Usage.noarch 0:1.63-3.el7 を インストール 
--> 依存性の処理をしています: perl(Pod::Text) >= 3.15 のパッケージ: perl-Pod-Usage-1.63-3.el7.noarch 
--> 依存性の処理をしています: perl-Pod-Perldoc のパッケージ: perl-Pod-Usage-1.63-3.el7.noarch 
---> パッケージ perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 を インストール 
---> パッケージ perl-Socket.x86_64 0:2.010-5.el7 を インストール 
---> パッケージ perl-Storable.x86_64 0:2.45-3.el7 を インストール 
---> パッケージ perl-Text-ParseWords.noarch 0:3.29-4.el7 を インストール 
---> パッケージ perl-Time-HiRes.x86_64 4:1.9725-3.el7 を インストール 
---> パッケージ perl-Time-Local.noarch 0:1.2300-2.el7 を インストール 
---> パッケージ perl-constant.noarch 0:1.27-2.el7 を インストール 
---> パッケージ perl-libs.x86_64 4:5.16.3-299.el7_9 を インストール 
---> パッケージ perl-macros.x86_64 4:5.16.3-299.el7_9 を インストール 
---> パッケージ perl-threads.x86_64 0:1.87-4.el7 を インストール 
---> パッケージ perl-threads-shared.x86_64 0:1.43-6.el7 を インストール 
--> トランザクションの確認を実行しています。 
---> パッケージ perl-Encode.x86_64 0:2.51-7.el7 を インストール 
---> パッケージ perl-Pod-Escapes.noarch 1:1.04-299.el7_9 を インストール 
---> パッケージ perl-Pod-Perldoc.noarch 0:3.20-4.el7 を インストール 
--> 依存性の処理をしています: perl(parent) のパッケージ: perl-Pod-Perldoc-3.20-4.el7.noarch 
--> 依存性の処理をしています: perl(HTTP::Tiny) のパッケージ: perl-Pod-Perldoc-3.20-4.el7.noarch 
---> パッケージ perl-podlators.noarch 0:2.5.1-3.el7 を インストール 
--> トランザクションの確認を実行しています。 
---> パッケージ perl-HTTP-Tiny.noarch 0:0.033-3.el7 を インストール 
---> パッケージ perl-parent.noarch 1:0.225-244.el7 を インストール 
--> 依存性解決を終了しました。 
依存性を解決しました 
================================================================================ 
Package                   アーキテクチャー 
                                    バージョン                リポジトリー 
                                                                          容量 
================================================================================ 
インストール中: 
python3                   x86_64    3.6.8-18.el7              updates     70 k 
python3-devel             x86_64    3.6.8-18.el7              updates    217 k 
python3-libs              x86_64    3.6.8-18.el7              updates    6.9 M 
python3-pip               noarch    9.0.3-8.el7               base       1.6 M 
依存性関連でのインストールをします: 
dwz                       x86_64    0.11-3.el7                base        99 k 
libtirpc                  x86_64    0.2.4-0.16.el7            base        89 k 
perl                      x86_64    4:5.16.3-299.el7_9        updates    8.0 M 
perl-Carp                 noarch    1.26-244.el7              base        19 k 
perl-Encode               x86_64    2.51-7.el7                base       1.5 M 
perl-Exporter             noarch    5.68-3.el7                base        28 k 
perl-File-Path            noarch    2.09-2.el7                base        26 k 
perl-File-Temp            noarch    0.23.01-3.el7             base        56 k 
perl-Filter               x86_64    1.49-3.el7                base        76 k 
perl-Getopt-Long          noarch    2.40-3.el7                base        56 k 
perl-HTTP-Tiny            noarch    0.033-3.el7               base        38 k 
perl-PathTools            x86_64    3.40-5.el7                base        82 k 
perl-Pod-Escapes          noarch    1:1.04-299.el7_9          updates     52 k 
perl-Pod-Perldoc          noarch    3.20-4.el7                base        87 k 
perl-Pod-Simple           noarch    1:3.28-4.el7              base       216 k 
perl-Pod-Usage            noarch    1.63-3.el7                base        27 k 
perl-Scalar-List-Utils    x86_64    1.27-248.el7              base        36 k 
perl-Socket               x86_64    2.010-5.el7               base        49 k 
perl-Storable             x86_64    2.45-3.el7                base        77 k 
perl-Text-ParseWords      noarch    3.29-4.el7                base        14 k 
perl-Time-HiRes           x86_64    4:1.9725-3.el7            base        45 k 
perl-Time-Local           noarch    1.2300-2.el7              base        24 k 
perl-constant             noarch    1.27-2.el7                base        19 k 
perl-libs                 x86_64    4:5.16.3-299.el7_9        updates    690 k 
perl-macros               x86_64    4:5.16.3-299.el7_9        updates     44 k 
perl-parent               noarch    1:0.225-244.el7           base        12 k 
perl-podlators            noarch    2.5.1-3.el7               base       112 k 
perl-srpm-macros          noarch    1-8.el7                   base       4.6 k 
perl-threads              x86_64    1.87-4.el7                base        49 k 
perl-threads-shared       x86_64    1.43-6.el7                base        39 k 
python-rpm-macros         noarch    3-34.el7                  base       9.1 k 
python-srpm-macros        noarch    3-34.el7                  base       8.8 k 
python3-rpm-generators    noarch    6-2.el7                   base        20 k 
python3-rpm-macros        noarch    3-34.el7                  base       8.1 k 
python3-setuptools        noarch    39.2.0-10.el7             base       629 k 
redhat-rpm-config         noarch    9.1.0-88.el7.centos       base        81 k 
zip                       x86_64    3.0-11.el7                base       260 k 
トランザクションの要約 
================================================================================ 
インストール  4 パッケージ (+37 個の依存関係のパッケージ) 
総ダウンロード容量: 21 M 
インストール容量: 86 M 
Is this ok [y/d/N]: y 
Downloading packages: 
(1/41): perl-Carp-1.26-244.el7.noarch.rpm                  |  19 kB   00:02 
(2/41): perl-Exporter-5.68-3.el7.noarch.rpm                |  28 kB   00:00 
(3/41): perl-File-Path-2.09-2.el7.noarch.rpm               |  26 kB   00:00 
(4/41): perl-File-Temp-0.23.01-3.el7.noarch.rpm            |  56 kB   00:00 
(5/41): perl-Filter-1.49-3.el7.x86_64.rpm                  |  76 kB   00:00 
(6/41): perl-Getopt-Long-2.40-3.el7.noarch.rpm             |  56 kB   00:00 
(7/41): perl-HTTP-Tiny-0.033-3.el7.noarch.rpm              |  38 kB   00:00 
(8/41): perl-PathTools-3.40-5.el7.x86_64.rpm               |  82 kB   00:00 
(9/41): perl-Pod-Escapes-1.04-299.el7_9.noarch.rpm         |  52 kB   00:00 
(10/41): perl-Pod-Perldoc-3.20-4.el7.noarch.rpm            |  87 kB   00:00 
(11/41): perl-Pod-Simple-3.28-4.el7.noarch.rpm             | 216 kB   00:01 
(12/41): perl-Pod-Usage-1.63-3.el7.noarch.rpm              |  27 kB   00:00 
(13/41): perl-Scalar-List-Utils-1.27-248.el7.x86_64.rpm    |  36 kB   00:00 
(14/41): perl-Socket-2.010-5.el7.x86_64.rpm                |  49 kB   00:00 
(15/41): perl-Storable-2.45-3.el7.x86_64.rpm               |  77 kB   00:00 
(16/41): perl-Text-ParseWords-3.29-4.el7.noarch.rpm        |  14 kB   00:00 
(17/41): perl-Time-HiRes-1.9725-3.el7.x86_64.rpm           |  45 kB   00:00 
(18/41): perl-Time-Local-1.2300-2.el7.noarch.rpm           |  24 kB   00:00 
(19/41): perl-constant-1.27-2.el7.noarch.rpm               |  19 kB   00:00 
(20/41): dwz-0.11-3.el7.x86_64.rpm                         |  99 kB   00:19 
(21/41): perl-macros-5.16.3-299.el7_9.x86_64.rpm           |  44 kB   00:00 
(22/41): perl-parent-0.225-244.el7.noarch.rpm              |  12 kB   00:00 
(23/41): perl-podlators-2.5.1-3.el7.noarch.rpm             | 112 kB   00:05 
(24/41): perl-srpm-macros-1-8.el7.noarch.rpm               | 4.6 kB   00:00 
(25/41): perl-threads-1.87-4.el7.x86_64.rpm                |  49 kB   00:01 
(26/41): perl-threads-shared-1.43-6.el7.x86_64.rpm         |  39 kB   00:05 
libtirpc-0.2.4-0.16.el7.x86_64 FAILED 
http://ftp.nara.wide.ad.jp/pub/Linux/centos/7.9.2009/os/x86_64/Packages/libtirpc-0.2.4-0.16.el7.x86_64.rpm: [Errno 12] Timeout on http://ftp.nara.wide.ad.jp/pub/Linux/centos/7.9.2009/os/x86_64/Packages/libtirpc-0.2.4-0.16.el7.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds') 
他のミラーを試します。 
(27/41): python-srpm-macros-3-34.el7.noarch.rpm            | 8.8 kB   00:00 
(28/41): python3-3.6.8-18.el7.x86_64.rpm                   |  70 kB   00:00 
(29/41): python-rpm-macros-3-34.el7.noarch.rpm             | 9.1 kB   00:01 
(30/41): python3-devel-3.6.8-18.el7.x86_64.rpm             | 217 kB   00:02 
(31/41): perl-Encode-2.51-7.el7.x86_64.rpm                 | 1.5 MB   01:05 
(32/41): python3-rpm-generators-6-2.el7.noarch.rpm         |  20 kB   00:00 
(33/41): python3-rpm-macros-3-34.el7.noarch.rpm            | 8.1 kB   00:00 
(34/41): python3-setuptools-39.2.0-10.el7.noarch.rpm       | 629 kB   00:05 
(35/41): redhat-rpm-config-9.1.0-88.el7.centos.noarch.rpm  |  81 kB   00:00 
(36/41): zip-3.0-11.el7.x86_64.rpm                         | 260 kB   00:02 
(37/41): libtirpc-0.2.4-0.16.el7.x86_64.rpm                |  89 kB   00:00 
(38/41): perl-libs-5.16.3-299.el7_9.x86_64.rpm             | 690 kB   01:51 
(39/41): python3-pip-9.0.3-8.el7.noarch.rpm                | 1.6 MB   02:13 
python3-libs-3.6.8-18.el7.x86_ FAILED 
http://ty1.mirror.newmediaexpress.com/centos/7.9.2009/updates/x86_64/Packages/python3-libs-3.6.8-18.el7.x86_64.rpm: [Errno 12] Timeout on http://ty1.mirror.newmediaexpress.com/centos/7.9.2009/updates/x86_64/Packages/python3-libs-3.6.8-18.el7.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds') 
他のミラーを試します。 
perl-5.16.3-299.el7_9.x86_64.r FAILED 
http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos/7.9.2009/updates/x86_64/Packages/perl-5.16.3-299.el7_9.x86_64.rpm: [Errno 12] Timeout on http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos/7.9.2009/updates/x86_64/Packages/perl-5.16.3-299.el7_9.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds') 
他のミラーを試します。 
perl-5.16.3-299.el7_9.x86_64.r FAILED 
http://ftp.tsukuba.wide.ad.jp/Linux/centos/7.9.2009/updates/x86_64/Packages/perl-5.16.3-299.el7_9.x86_64.rpm: [Errno 12] Timeout on http://ftp.tsukuba.wide.ad.jp/Linux/centos/7.9.2009/updates/x86_64/Packages/perl-5.16.3-299.el7_9.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds') 
他のミラーを試します。 
perl-5.16.3-299.el7_9.x86_64.r FAILED 
http://mirror.vodien.com/centos/7.9.2009/updates/x86_64/Packages/perl-5.16.3-299.el7_9.x86_64.rpm: [Errno 12] Timeout on http://mirror.vodien.com/centos/7.9.2009/updates/x86_64/Packages/perl-5.16.3-299.el7_9.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds') 
他のミラーを試します。 
(40/41): python3-libs-3.6.8-18.el7.x86_64.rpm              | 6.9 MB   03:24 
(41/41): perl-5.16.3-299.el7_9.x86_64.rpm                  | 8.0 MB   04:22 
-------------------------------------------------------------------------------- 
合計                                                35 kB/s |  21 MB  10:26 
Running transaction check 
Running transaction test 
Transaction test succeeded 
Running transaction 
 インストール中          : python-srpm-macros-3-34.el7.noarch             1/41 
 インストール中          : python-rpm-macros-3-34.el7.noarch              2/41 
 インストール中          : 1:perl-parent-0.225-244.el7.noarch             3/41 
 インストール中          : perl-HTTP-Tiny-0.033-3.el7.noarch              4/41 
 インストール中          : perl-podlators-2.5.1-3.el7.noarch              5/41 
 インストール中          : perl-Pod-Perldoc-3.20-4.el7.noarch             6/41 
 インストール中          : 1:perl-Pod-Escapes-1.04-299.el7_9.noarch       7/41 
 インストール中          : perl-Encode-2.51-7.el7.x86_64                  8/41 
 インストール中          : perl-Text-ParseWords-3.29-4.el7.noarch         9/41 
 インストール中          : perl-Pod-Usage-1.63-3.el7.noarch              10/41 
 インストール中          : 4:perl-macros-5.16.3-299.el7_9.x86_64         11/41 
 インストール中          : 4:perl-Time-HiRes-1.9725-3.el7.x86_64         12/41 
 インストール中          : perl-Exporter-5.68-3.el7.noarch               13/41 
 インストール中          : perl-constant-1.27-2.el7.noarch               14/41 
 インストール中          : perl-Socket-2.010-5.el7.x86_64                15/41 
 インストール中          : perl-Time-Local-1.2300-2.el7.noarch           16/41 
 インストール中          : perl-Carp-1.26-244.el7.noarch                 17/41 
 インストール中          : perl-Storable-2.45-3.el7.x86_64               18/41 
 インストール中          : perl-PathTools-3.40-5.el7.x86_64              19/41 
 インストール中          : perl-Scalar-List-Utils-1.27-248.el7.x86_64    20/41 
 インストール中          : 1:perl-Pod-Simple-3.28-4.el7.noarch           21/41 
 インストール中          : perl-File-Temp-0.23.01-3.el7.noarch           22/41 
 インストール中          : perl-File-Path-2.09-2.el7.noarch              23/41 
 インストール中          : perl-threads-shared-1.43-6.el7.x86_64         24/41 
 インストール中          : perl-threads-1.87-4.el7.x86_64                25/41 
 インストール中          : perl-Filter-1.49-3.el7.x86_64                 26/41 
 インストール中          : 4:perl-libs-5.16.3-299.el7_9.x86_64           27/41 
 インストール中          : perl-Getopt-Long-2.40-3.el7.noarch            28/41 
 インストール中          : 4:perl-5.16.3-299.el7_9.x86_64                29/41 
 インストール中          : python3-rpm-macros-3-34.el7.noarch            30/41 
 インストール中          : dwz-0.11-3.el7.x86_64                         31/41 
 インストール中          : perl-srpm-macros-1-8.el7.noarch               32/41 
 インストール中          : zip-3.0-11.el7.x86_64                         33/41 
 インストール中          : redhat-rpm-config-9.1.0-88.el7.centos.noarc   34/41 
 インストール中          : libtirpc-0.2.4-0.16.el7.x86_64                35/41 
 インストール中          : python3-pip-9.0.3-8.el7.noarch                36/41 
 インストール中          : python3-setuptools-39.2.0-10.el7.noarch       37/41 
 インストール中          : python3-3.6.8-18.el7.x86_64                   38/41 
 インストール中          : python3-libs-3.6.8-18.el7.x86_64              39/41 
 インストール中          : python3-rpm-generators-6-2.el7.noarch         40/41 
 インストール中          : python3-devel-3.6.8-18.el7.x86_64             41/41 
 検証中                  : libtirpc-0.2.4-0.16.el7.x86_64                 1/41 
 検証中                  : perl-HTTP-Tiny-0.033-3.el7.noarch              2/41 
 検証中                  : python3-rpm-generators-6-2.el7.noarch          3/41 
 検証中                  : perl-threads-shared-1.43-6.el7.x86_64          4/41 
 検証中                  : 4:perl-Time-HiRes-1.9725-3.el7.x86_64          5/41 
 検証中                  : zip-3.0-11.el7.x86_64                          6/41 
 検証中                  : perl-Exporter-5.68-3.el7.noarch                7/41 
 検証中                  : perl-constant-1.27-2.el7.noarch                8/41 
 検証中                  : perl-PathTools-3.40-5.el7.x86_64               9/41 
 検証中                  : python3-3.6.8-18.el7.x86_64                   10/41 
 検証中                  : python3-pip-9.0.3-8.el7.noarch                11/41 
 検証中                  : 4:perl-macros-5.16.3-299.el7_9.x86_64         12/41 
 検証中                  : 1:perl-parent-0.225-244.el7.noarch            13/41 
 検証中                  : perl-Socket-2.010-5.el7.x86_64                14/41 
 検証中                  : perl-srpm-macros-1-8.el7.noarch               15/41 
 検証中                  : python-rpm-macros-3-34.el7.noarch             16/41 
 検証中                  : 1:perl-Pod-Simple-3.28-4.el7.noarch           17/41 
 検証中                  : dwz-0.11-3.el7.x86_64                         18/41 
 検証中                  : perl-Time-Local-1.2300-2.el7.noarch           19/41 
 検証中                  : 1:perl-Pod-Escapes-1.04-299.el7_9.noarch      20/41 
 検証中                  : python3-devel-3.6.8-18.el7.x86_64             21/41 
 検証中                  : python3-rpm-macros-3-34.el7.noarch            22/41 
 検証中                  : perl-Carp-1.26-244.el7.noarch                 23/41 
 検証中                  : python3-libs-3.6.8-18.el7.x86_64              24/41 
 検証中                  : perl-Storable-2.45-3.el7.x86_64               25/41 
 検証中                  : perl-Scalar-List-Utils-1.27-248.el7.x86_64    26/41 
 検証中                  : python3-setuptools-39.2.0-10.el7.noarch       27/41 
 検証中                  : perl-File-Temp-0.23.01-3.el7.noarch           28/41 
 検証中                  : perl-Pod-Usage-1.63-3.el7.noarch              29/41 
 検証中                  : perl-Encode-2.51-7.el7.x86_64                 30/41 
 検証中                  : perl-Pod-Perldoc-3.20-4.el7.noarch            31/41 
 検証中                  : perl-podlators-2.5.1-3.el7.noarch             32/41 
 検証中                  : 4:perl-5.16.3-299.el7_9.x86_64                33/41 
 検証中                  : perl-File-Path-2.09-2.el7.noarch              34/41 
 検証中                  : perl-threads-1.87-4.el7.x86_64                35/41 
 検証中                  : perl-Filter-1.49-3.el7.x86_64                 36/41 
 検証中                  : perl-Getopt-Long-2.40-3.el7.noarch            37/41 
 検証中                  : perl-Text-ParseWords-3.29-4.el7.noarch        38/41 
 検証中                  : python-srpm-macros-3-34.el7.noarch            39/41 
 検証中                  : 4:perl-libs-5.16.3-299.el7_9.x86_64           40/41 
 検証中                  : redhat-rpm-config-9.1.0-88.el7.centos.noarc   41/41 
インストール: 
 python3.x86_64 0:3.6.8-18.el7          python3-devel.x86_64 0:3.6.8-18.el7 
 python3-libs.x86_64 0:3.6.8-18.el7     python3-pip.noarch 0:9.0.3-8.el7 
依存性関連をインストールしました: 
 dwz.x86_64 0:0.11-3.el7 
 libtirpc.x86_64 0:0.2.4-0.16.el7 
 perl.x86_64 4:5.16.3-299.el7_9 
 perl-Carp.noarch 0:1.26-244.el7 
 perl-Encode.x86_64 0:2.51-7.el7 
 perl-Exporter.noarch 0:5.68-3.el7 
 perl-File-Path.noarch 0:2.09-2.el7 
 perl-File-Temp.noarch 0:0.23.01-3.el7 
 perl-Filter.x86_64 0:1.49-3.el7 
 perl-Getopt-Long.noarch 0:2.40-3.el7 
 perl-HTTP-Tiny.noarch 0:0.033-3.el7 
 perl-PathTools.x86_64 0:3.40-5.el7 
 perl-Pod-Escapes.noarch 1:1.04-299.el7_9 
 perl-Pod-Perldoc.noarch 0:3.20-4.el7 
 perl-Pod-Simple.noarch 1:3.28-4.el7 
 perl-Pod-Usage.noarch 0:1.63-3.el7 
 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 
 perl-Socket.x86_64 0:2.010-5.el7 
 perl-Storable.x86_64 0:2.45-3.el7 
 perl-Text-ParseWords.noarch 0:3.29-4.el7 
 perl-Time-HiRes.x86_64 4:1.9725-3.el7 
 perl-Time-Local.noarch 0:1.2300-2.el7 
 perl-constant.noarch 0:1.27-2.el7 
 perl-libs.x86_64 4:5.16.3-299.el7_9 
 perl-macros.x86_64 4:5.16.3-299.el7_9 
 perl-parent.noarch 1:0.225-244.el7 
 perl-podlators.noarch 0:2.5.1-3.el7 
 perl-srpm-macros.noarch 0:1-8.el7 
 perl-threads.x86_64 0:1.87-4.el7 
 perl-threads-shared.x86_64 0:1.43-6.el7 
 python-rpm-macros.noarch 0:3-34.el7 
 python-srpm-macros.noarch 0:3-34.el7 
 python3-rpm-generators.noarch 0:6-2.el7 
 python3-rpm-macros.noarch 0:3-34.el7 
 python3-setuptools.noarch 0:39.2.0-10.el7 
 redhat-rpm-config.noarch 0:9.1.0-88.el7.centos 
 zip.x86_64 0:3.0-11.el7 
完了しました!


これでCentOS7にPython3系が入ったのですが、
まだ2系を優先するような設定になっているので、
以下の設定を行い3系を優先するようにします。

[root@localhost ~]# unlink /bin/python 
[root@localhost ~]# ln -s /bin/python3 /bin/python 
[root@localhost ~]# ln -s /bin/pip3.6 /bin/pip 


4.再度バージョンを確認してみる

改めてpython -Vコマンドを実行してみると3系が表示されています。
一応Pythonのライブラリ管理をしているpipもバージョン見てみます。

[root@localhost ~]# python -V 
Python 3.6.8 
[root@localhost ~]# pip -V 
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)


5.Djangoをインストール

公式サイトは以下

pipでdjangoをインストールします。

[root@localhost ~]# pip install Django
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip install --user` instead.
Collecting Django
 Downloading https://files.pythonhosted.org/packages/89/69/c556b5b3e7a6701724485fc07c8349791e585b784dc70c9c0683d98ef0db/Django-3.2.3-py3-none-any.whl (7.9MB)
   100% |????????????????????????????????| 7.9MB 15kB/s
Collecting pytz (from Django)
 Downloading https://files.pythonhosted.org/packages/70/94/784178ca5dd892a98f113cdd923372024dc04b8d40abe77ca76b5fb90ca6/pytz-2021.1-py2.py3-none-any.whl (510kB)
   100% |????????????????????????????????| 512kB 124kB/s
Collecting sqlparse>=0.2.2 (from Django)
 Downloading https://files.pythonhosted.org/packages/14/05/6e8eb62ca685b10e34051a80d7ea94b7137369d8c0be5c3b9d9b6e3f5dae/sqlparse-0.4.1-py3-none-any.whl (42kB)
   100% |????????????????????????????????| 51kB 157kB/s
Collecting asgiref<4,>=3.3.2 (from Django)
 Downloading https://files.pythonhosted.org/packages/17/8b/05e225d11154b8f5358e6a6d277679c9741ec0339d1e451c9cef687a9170/asgiref-3.3.4-py3-none-any.whl
Collecting typing-extensions; python_version < "3.8" (from asgiref<4,>=3.3.2->Django)
 Downloading https://files.pythonhosted.org/packages/2e/35/6c4fff5ab443b57116cb1aad46421fb719bed2825664e8fe77d66d99bcbc/typing_extensions-3.10.0.0-py3-none-any.whl
Installing collected packages: pytz, sqlparse, typing-extensions, asgiref, Django
Successfully installed Django-3.2.3 asgiref-3.3.4 pytz-2021.1 sqlparse-0.4.1 typing-extensions-3.10.0.0


DjangoがインストールされPythonがそれを認識しているかを確認します。
今回はDjango公式のコマンドを参考にしています。

[root@localhost ~]# python
Python 3.6.8 (default, Nov 16 2020, 16:55:22)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> print(django.get_version())
3.2.3
>>> exit()
[root@localhost ~]#


6.補足

Python2系から3系に変更した際にCentOSのyumコマンドが壊れてしまう
事がありました。
その時は以下のコマンドを打って解消します。

[root@localhost log]# sed -i 's@/usr/bin/python@/usr/bin/python2@g' /usr/bin/yum 
[root@localhost log]# sed -i 's@/usr/bin/python@/usr/bin/python2@g' /usr/libexec/urlgrabber-ext-down

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?