概要
Vagrant上のCentOS7にPython3をインストールした記録。
要点は以下の通り。
- IUSのリポジトリーでインストール
--enablerepo=ius
が必要
バージョン確認
まずPythonのバージョンを確認する。
1 2 |
$ python --version Python 2.7.5 |
一応Python2の動作確認。
1 2 3 4 5 6 7 |
$ python Python 2.7.5 (default, Nov 16 2020, 22:23:17) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print 1 + 2 3 >>> exit() |
Python3はインストールされていない。
1 2 |
$ python3 --version -bash: python3: コマンドが見つかりません |
IUSのリポジトリー追加
リポジトリー追加ができない。
1 2 3 4 5 6 |
$ sudo yum install -y https://repo.ius.io/ius-release-el7.rpm 読み込んだプラグイン:fastestmirror ius-release-el7.rpm | 8.2 kB 00:00:00 /var/tmp/yum-root-s5XCLO/ius-release-el7.rpm を調べています: ius-release-2-1.el7.ius.noarch /var/tmp/yum-root-s5XCLO/ius-release-el7.rpm: インストールされたパッケージを更新しません。 エラー: 何もしません |
リポジトリーは作成できている。
1 2 3 4 |
$ ls /etc/yum.repos.d | grep ius ius-archive.repo ius-testing.repo ius.repo |
GitをインストールしたときにIUSのリポジトリーをインストールしていたのを忘れていた。
Python3がインストールできない
Python3.6をインストールしようとするができない。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ sudo yum install -y python36u python36u-libs python36u-devel python36u-pip 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * base: ftp.riken.jp * epel: ftp.riken.jp * extras: ftp.riken.jp * remi-php73: ftp.riken.jp * remi-safe: ftp.riken.jp * updates: ftp.riken.jp パッケージ python36u は利用できません。 パッケージ python36u-libs は利用できません。 パッケージ python36u-devel は利用できません。 パッケージ python36u-pip は利用できません。 エラー: 何もしません |
/etc/yum.repos.d/ius.repo
の設定でenabled = 0
になっているため。Gitのインストールの時に書き換えているが、毎回元に戻るのか?
オプション設定でインストール成功
設定ファイルを書き換えてもよいが、yum実行時のオプションで--enablerepo=ius
を追加して成功。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
$ sudo yum install --enablerepo=ius python36u python36u-libs python36u-devel python36u-pip 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * base: ftp.riken.jp * epel: ftp.riken.jp * extras: ftp.riken.jp * remi-php73: ftp.riken.jp * remi-safe: ftp.riken.jp * updates: ftp.riken.jp base | 3.6 kB 00:00 epel | 4.7 kB 00:00 extras | 2.9 kB 00:00 ius | 1.3 kB 00:00 mysql-connectors-community | 2.6 kB 00:00 mysql-tools-community | 2.6 kB 00:00 mysql80-community | 2.6 kB 00:00 remi-php73 | 3.0 kB 00:00 remi-safe | 3.0 kB 00:00 updates | 2.9 kB 00:00 ........ 総ダウンロード容量: 9.7 M インストール容量: 48 M Is this ok [y/d/N]: y Downloading packages: (1/12): python3-3.6.8-18.el7.x86_64.rpm | 70 kB 00:00:00 (2/12): python3-devel-3.6.8-18.el7.x86_64.rpm | 217 kB 00:00:00 (3/12): python-srpm-macros-3-34.el7.noarch.rpm | 8.8 kB 00:00:01 (4/12): perl-srpm-macros-1-8.el7.noarch.rpm | 4.6 kB 00:00:01 (5/12): dwz-0.11-3.el7.x86_64.rpm | 99 kB 00:00:02 (6/12): python3-rpm-macros-3-34.el7.noarch.rpm | 8.1 kB 00:00:00 (7/12): python3-rpm-generators-6-2.el7.noarch.rpm | 20 kB 00:00:00 (8/12): redhat-rpm-config-9.1.0-88.el7.centos.noarch.rpm | 81 kB 00:00:00 (9/12): python3-pip-9.0.3-8.el7.noarch.rpm | 1.6 MB 00:00:01 (10/12): python3-setuptools-39.2.0-10.el7.noarch.rpm | 629 kB 00:00:02 (11/12): python3-libs-3.6.8-18.el7.x86_64.rpm | 6.9 MB 00:00:04 python-rpm-macros-3-34.el7.noa FAILED http://centos.usonyx.net/main/7.9.2009/os/x86_64/Packages/python-rpm-macros-3-34.el7.noarch.rpm: [Errno 14] curl#56 - "Recv failure: Connection reset by peer" 他のミラーを試します。 (12/12): python-rpm-macros-3-34.el7.noarch.rpm | 9.1 kB 00:00:00 ------------------------------------------------------------------------------------------------------------------------ 合計 399 kB/s | 9.7 MB 00:00:24 Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : python3-libs-3.6.8-18.el7.x86_64 1/12 インストール中 : python3-setuptools-39.2.0-10.el7.noarch 2/12 インストール中 : python3-pip-9.0.3-8.el7.noarch 3/12 インストール中 : python3-3.6.8-18.el7.x86_64 4/12 インストール中 : python-srpm-macros-3-34.el7.noarch 5/12 インストール中 : python-rpm-macros-3-34.el7.noarch 6/12 インストール中 : python3-rpm-generators-6-2.el7.noarch 7/12 インストール中 : python3-rpm-macros-3-34.el7.noarch 8/12 インストール中 : dwz-0.11-3.el7.x86_64 9/12 インストール中 : perl-srpm-macros-1-8.el7.noarch 10/12 インストール中 : redhat-rpm-config-9.1.0-88.el7.centos.noarch 11/12 インストール中 : python3-devel-3.6.8-18.el7.x86_64 12/12 検証中 : python3-3.6.8-18.el7.x86_64 1/12 検証中 : python3-libs-3.6.8-18.el7.x86_64 2/12 検証中 : perl-srpm-macros-1-8.el7.noarch 3/12 検証中 : python-srpm-macros-3-34.el7.noarch 4/12 検証中 : python-rpm-macros-3-34.el7.noarch 5/12 検証中 : dwz-0.11-3.el7.x86_64 6/12 検証中 : python3-rpm-generators-6-2.el7.noarch 7/12 検証中 : python3-rpm-macros-3-34.el7.noarch 8/12 検証中 : python3-setuptools-39.2.0-10.el7.noarch 9/12 検証中 : python3-pip-9.0.3-8.el7.noarch 10/12 検証中 : python3-devel-3.6.8-18.el7.x86_64 11/12 検証中 : redhat-rpm-config-9.1.0-88.el7.centos.noarch 12/12 インストール: 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 perl-srpm-macros.noarch 0:1-8.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 完了しました! |
確認
バージョン確認。
1 2 |
[vagrant@localhost ~]$ python3 --version Python 3.6.8 |
動作確認。
1 2 3 4 5 6 |
[vagrant@localhost ~]$ python3 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. >>> print(1 + 2) 3 |
Python2ではない。
1 2 3 4 5 |
>>> print 1 + 2 File "<stdin>", line 1 print 1 + 2 ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(1 + 2)? |
python3の場所。
1 2 3 4 |
$ which python3 /usr/bin/python3 $ sudo find / -name python3 /usr/bin/python3 |
pipのバージョン確認。
1 2 |
[vagrant@localhost ~]$ pip3 --version pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6) |