naritoブログ

このブログはDjangoとBootstrap4で作成されました
ソースコード

さくらVPS(CentOS7) yumでPythonをインストール

プログラミング関連 venv マイサーバ初期設定3 Python Linux CentOS 約184日前
2017年4月16日16:56
今回は最新のPythonをyumでインストールしていきます。
CentOS7の標準リポジトリにはpython3系がないので、他の場所からとってきましょう。
EPELリポジトリにはpython34があったのですが、欲しいのは最新の3.6なので、EPELは見送りました。

今回はIUS Community Projectを利用します。

IUS Community Project


https://ius.io/


RHELやCentOS向けに新しいソフトウェアを提供してくれているようです。

以下のコマンドでリポジトリを追加
yum install -y https://centos7.iuscommunity.org/ius-release.rpm


以下のようにして、欲しいバージョンのpythonを検索します。
yum search python36


すると沢山でてきますね。よりどりみどりです。
左が名前で右が説明です。
============================ N/S matched: python36 =============================
python36u-debuginfo.x86_64 : Debug information for package python36u
python36u-lxml-debuginfo.x86_64 : Debug information for package python36u-lxml
python36u-mod_wsgi-debuginfo.x86_64 : Debug information for package
                                    : python36u-mod_wsgi
python36u-psycopg2-debuginfo.x86_64 : Debug information for package
                                    : python36u-psycopg2
uwsgi-plugin-python36u-debuginfo.x86_64 : Debug information for package
                                        : uwsgi-plugin-python36u
python36u.x86_64 : Version 3 of the Python programming language aka Python 3000
python36u-debug.x86_64 : Debug version of the Python 3 runtime
python36u-devel.x86_64 : Libraries and header files needed for Python 3
                       : development
python36u-gunicorn.noarch : Python WSGI application server
python36u-libs.x86_64 : Python 3 runtime libraries
python36u-lxml.x86_64 : XML processing library combining libxml2/libxslt with
                      : the ElementTree API
python36u-mod_wsgi.x86_64 : A WSGI interface for Python web applications in
                          : Apache
python36u-pip.noarch : A tool for installing and managing Python packages
python36u-psycopg2.x86_64 : A PostgreSQL database adapter for Python
python36u-redis.noarch : Python interface to the Redis key-value store
python36u-setuptools.noarch : Easily build and distribute Python packages
python36u-test.x86_64 : The test modules from the main python 3 package
python36u-tkinter.x86_64 : A GUI toolkit for Python 3
python36u-tools.x86_64 : A collection of tools included with Python 3
uwsgi-plugin-python36u.x86_64 : uWSGI - Plugin for Python support



他にも色々ありますが、とりあえず以下だけにしておきます。
yum install -y python36u python36u-devel python36u-libs python36u-pip python36u-setuptools python36u-tools


下記コマンドが使えるか確認しておきましょう。
python3.6
python3.6 -m pip
python3.6 -m venv


念のため、以下のように一通り試してみます。
cd /home

# python36での仮想環境作成
python3.6 -m venv testvenv
cd testvenv

# 仮想環境の有効か
source bin/activate

# Python3.6.x 等と表示
python --version

# /home/testvenv/bin/python と表示
which python

# pipしてみる
pip install requests

# requestsのみ表示される
pip freeze

# 無効化する
deactivate

# 仮想環境の外には影響がないことをチェック。何も表示されない!
python3.6 -m pip freeze


3.5など、別のバージョンも同時に入れれます。
yum install -y python35u python35u-devel python35u-libs python35u-pip python35u-setuptools python35u-tools


以下のように、ちゃんと共存できています。もちろん、venvでそれぞれのバージョンで仮想環境も作成できます。
which python3.6
# /usr/bin/python3.6

which python3.5
# /usr/bin/python3.5


参考
http://weblabo.oscasierra.net/python3-centos7-yum-install/