Windowsに WSLをインストール して Ubuntu、Debian 等の Linux 環境が使えるようになった人を対象に、Python の実行環境を作る方法を説明します。いろいろな方法がありますのでひとつの例と考えてください。
2022年6月現在、WSL/Ubuntuをインストールすると Python3.8.10 が既にインストールされていますが、これは Python の基本文法を勉強するくらいの用途にしか使えないと思ってください。その理由は、Python を使う目的によってはバージョンの違いによる問題が発生したり、ライブラリどうしの相性問題が頻繁に起きるため、唯一の実行環境ですべてカバーするのは難しいからです。Linux 環境に直接インストールするのではなく、Python の環境管理ツールを使って目的に応じた環境を切り替えるようにしておくことを強く推奨します。環境管理ツールは色々ありますが、以下では、Pythonそのもののバージョンも管理可能な pyenv と、ライブラリのバージョンを管理する virtualenv を併用する方法を紹介します。
※Debianの場合、virtualenv のインストールができない問題が発生します。Ubuntuを使用することを推奨します。WSLの環境下では、Ubuntu と Debian を併存してインストールできます。(2024年7月)
pyenvをインストール
ここでは Linux 環境の中でテキストファイルを編集する必要があります。Linux のテキストエディタを使ったことがない場合は事前に慣れておいてください。Linuxの基本 を参照してください。
pyenvをインストールするとPythonの色々なバージョンをインストールできたり、使うバージョンを切り替えたりできますので便利です。pyenvのインストール手順を示します。まずpyenvの動作に必要なものをインストールします。次のコマンドを実行してください。長いコマンドなので右のほうまでスクロールしてしっかりコピペして実行してください。
1 2 |
$ sudo apt update ←パッケージ情報を更新します $ sudo apt install -y build-essential zlib1g-dev libssl-dev libbz2-dev libffi-dev libreadline-dev libsqlite3-dev liblzma-dev python3-tk tk-dev |
GitHubからpyenvをクローンします。
1 |
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv |
pyenv用の設定情報をホームディレクトリの .bashrc ファイルに追記します。.bashrc ファイルはホームディレクトリで “ls -la” コマンドを実行すれば見えます。viエディタかnanoエディタで ~/.bashrc を開いて末尾に次の内容を追加してください。”vi ~/.bashrc” または “nano ~/.bashrc” を実行します。VSCode を使っている人は “code ~/.bashrc” でも構いません。
1 2 3 4 5 |
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)" fi |
設定した内容を反映させるため、次のコマンドを実行するか、または Linux にログインし直します。
1 |
$ source ~/.bashrc |
pyenvコマンドを実行してヘルプが表示されたら成功です。
Pythonをインストール
pyenvを使って Python をインストールすると、異なるバージョンの Python を同じ Linux 環境の中に共存させることができます。次のコマンドを実行すると pyenv でインストール可能なバージョンが一覧表示されます。
1 |
$ pyenv install --list |
長いリストが表示されますが、先頭付近に表示される、数字のバージョン名のものが標準的なPythonです。どのバージョンを使うかについては、授業や開発プロジェクトで指定されている場合はそのバージョンを使ってください。使用するライブラリによっては動作する Python バージョンが制限される場合もあります。
一般的には、なるべく新しい、しかし安定したバージョンを選択するべきでしょう。Python のバージョンは 3.xx.yy のような形式になっています。3.xx までがメジャーバージョン、yy がマイナーバージョンを示します。yy が少ししかない場合はそのバージョンはまだ成熟していないと判断できます。yy のバージョンがある程度進んでいるメジャーバージョンを選び、その中の最後の yy バージョンを使うのが無難です。
例として、3.11.2 を使うことにします。
1 2 |
$ pyenv install 3.11.2 ←指定したバージョンのPythonがインストールされます。 $ pyenv versions ←pyenv配下にインストールされたPythonのバージョン一覧を表示。3.11.2があればOK。 |
仮想環境の作成
当サイトでは度々登場しますが、virtualenvを使ってPythonの仮想環境を作ります。pip3コマンドが必要なので、次のコマンドでインストールします。
1 2 |
$ sudo apt install python3-pip $ pip3 install --upgrade pip ←pip3コマンド自体を更新しておきます |
virtualenvをインストールします。
1 |
$ sudo pip3 install virtualenv |
virtualenvの使い方をまとめておきます。。
virtualenv –version (”-” は2個) | バージョンの確認 |
virtualenv [作成する環境名] | 仮想環境の作成 |
source [環境名]/bin/activate | 仮想環境の有効化 |
deactivate | 仮想環境の無効化(元に戻る) |
Python を使う目的や開発プロジェクトに応じて、専用のディレクトリを作成してください。その作業ディレクトリに移動し、次のコマンドを実行してください。環境名は自由に決めることができます。ここでは env としました。sourceコマンドは環境名に応じて実行してください。
1 2 3 4 5 6 7 |
$ cd project ←作業ディレクトリに移動 $ pyenv local 3.11.2 ←このディレクトリ以下では3.11.2が動作するようになります $ virtualenv -p python3.11 env ←マイナーバージョンは省略できます $ source env/bin/activate (env) $ python --version ←コマンドプロンプトの前にに環境名が表示されます Python 3.11.2 (env) $ |
この状態で pip3 コマンドを使ってライブラリをインストールすると、この環境にだけインストールされ、他の環境には影響を及ぼしません。例えば numpy をインストールしたければ、
1 2 3 4 5 6 |
(env) $ pip3 install numpy <省略> (env) python >>> import numpy as np ←ちゃんとimportされる >>> exit() (env) $ |
deactivate コマンドを実行すると (env) の仮想環境を抜けて、システムのデフォルト状態に戻ります。
コメント