はじめに
Python3.6のビルドとインストール、venv環境の構築手順を紹介します。デフォルトでインストールされている Pythonに影響を与えないよう、任意の場所(/opt/python36 や ~/opt/python36など)にPython3.6をインストールします。このPython3.6を使って、venv環境を構築できるようにします。
AmazonLinuxでpython36-virtualenvパッケージを使用した構築手順をこちらの投稿で紹介しています。ビルドが不要になり、簡単に導入できるようになっています。
Python3.7の構築手順をこちらの投稿で紹介しています。
Python3.6インストール手順
ビルド環境構築
下記コマンドを実行して、Python3.6をビルドできるようにします。
$ sudo yum groupinstall 'Development tools'
$ sudo yum install openssl-devel sqlite-devel
Debian系のOSでは、下記コマンドを実行します。
$ sudo apt-get update
$ sudo apt-get install build-essential \
libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline6-dev libsqlite3-dev \
libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev
ソースコードダウンロード
下記コマンドを実行して、Python3.6のソースコードをダウンロードします。
$ mkdir -p ~/src
$ curl -L https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz \
-o ~/src/Python-3.6.2.tar.xz
ビルド
下記コマンドを実行して、Python3.6をビルドします。インストール先は–prefixで指定します。環境変数_prefixを用意してインストール先を切り替えられるようにしました。この場合、/opt/python3.6 にインストールするようにしたときの例になります。
$ cd ~/src/
$ tar fx Python-3.6.2.tar.xz
$ cd Python-3.6.2
$ _prefix="/opt/python3.6"
(or _prefix="${HOME}/opt/python3.6")
$ ./configure \
--prefix=${_prefix} \
--with-threads \
--enable-shared \
LDFLAGS=-Wl,-rpath,${_prefix}/lib \
--enable-optimizations
$ make
インストール
下記コマンドを実行して、Python3.6をインストールします。ユーザー権限で書き込みできるディレクトリにインストールする場合は、sudoを付けずに実行してください。sudoを付けてしまうと、更新作業などを実施する際、ユーザー権限で操作できなくなります。
$ cd ~/src/Python-3.6.2
$ sudo make altinstall
(or make altinstall)
venv環境構築手順
venv環境作成
下記コマンドを実行して、Python3.6のvenv環境を作成します。python3.6コマンドは先の手順でインストールしたPython3.6のインストール先にあるものを指定します。venv環境について、ここでは名前をvenv36としてホームディレクトリ直下に作成していますが、わかりやすい任意の名称、任意のディレクトリに作成することができます。
$ cd ~/.
$ /opt/python3.6/bin/python3.6 -m venv venv36
(or ${HOME}/opt/python3.6/bin/python3.6 -m venv venv36)
venv環境有効化
下記コマンドを実行して、venv環境を有効化します。venv環境が有効になると、プロンプトに (venv36)が明示されるようになります。この状態でpipコマンドなどでパッケージをインストールすると、このvenv環境内でのみ有効なパッケージとしてインストールされます。OS標準の環境や、他のvenv環境には影響を与えません。
$ source ~/venv36/bin/activate
(venv36)$ pip install <パッケージ名>
(venv36)$ python -V
Python 3.6.2
venv環境無効化
下記コマンドを実行して、venv環境から抜けることができます。venv環境名である(venv36)が表示されなくなり、venv環境から抜けたことが確認できます。
(venv36) $ deactivate
$ python -V
Python 2.7.12
「Python3.6ビルドとvenv環境構築」への1件の返信
[…] こちらの投稿では、Pythonの任意のバージョンのソースコードからビルドしてインストールする方法を紹介しました。しかし、ライブラリのインストールなどビルド環境の構築が必要であり、比較的煩雑な手順となります。 […]