Pythonバージョンの管理方法
pyenv
を使用してPythonのバージョンを管理する
この記事では、pyenv
を使用してPythonの複数のバージョンを管理する方法について解説します。複数のバージョンのPythonを活用し、プロジェクトに貢献する方法や、最新のPythonの利用方法について詳しく学びます。また、Pythonのバージョンを切り替えたり、仮想環境を使用したりする方法も紹介します。
pyenv
を使う理由
システムPythonを使わない理由
”システムPython”とは、オペレーティングシステムに最初からインストールされているPythonのことを指します。MacやLinuxを使用している場合、ターミナルでpython
と入力すると、PythonのREPL(Read-Eval-Print Loop)が表示されます。
では、なぜシステムPythonを使わないのでしょうか?ひとつは、このPythonは実際にはオペレーティングシステムに属しているからです。つまり、オペレーティングシステムと一緒にインストールされたものです。実際、which
コマンドを実行すると以下のように表示されます:
ここで、python
は/usr/bin/python
にあるため、すべてのユーザーが利用できる状態になっています。おそらく、これはあなたが望んでいるPythonのバージョンではないでしょう:
システムPythonにパッケージをインストールするには、sudo pip install
というコマンドを実行する必要があります。これは、システムPythonがオペレーティングシステムの一部であるためです。しかし、これは管理が煩雑になる上にセキュリティ上の懸念があります。
pyenv
のインストール
pyenv
を使用するためには、まずインストールする必要があります。以下にインストール手順を示します。
ビルド依存関係
pyenv
をインストールする前に、いくつかのビルド依存関係をインストールする必要があります。これは、pyenv
がPythonのビルドに必要な依存関係を満たすためです。
- Ubuntuの場合:
- macOSの場合(Homebrewが必要です):
pyenv
のインストーラーを使う
インストール方法はいくつかありますが、ここではpyenv-installer
を使用してインストールする方法を説明します。以下のコマンドを実行してください:
これにより、~/.pyenv
ディレクトリにpyenv
がインストールされます。
pyenv
を使用してPythonをインストールする
pyenv
を使ってPythonをインストールする方法を学びましょう。以下に手順を示します。
インストール場所
まず、pyenv
のinstall
コマンドを使用して、特定のバージョンのPythonをインストールします。たとえば、最新の安定版のPython 3.9.2をインストールするには、次のコマンドを実行します:
インストールにはしばらく時間がかかる場合があります。
新しいPythonの使用
インストールが完了したら、global
コマンドを使用してデフォルトのPythonバージョンを設定することができます。たとえば、以下のコマンドを実行すると、Python 3.9.2がデフォルトのバージョンになります:
これにより、python
コマンドを実行するとデフォルトのPythonバージョンが使用されます。
pyenv
コマンドの探索
pyenv
コマンドを使ってさまざまな操作を行うことができます。以下にいくつかの主なコマンドを紹介します。
install
コマンド
install
コマンドは、指定したバージョンのPythonをインストールします。例えば、以下のコマンドでPython 3.8.5をインストールできます:
versions
コマンド
versions
コマンドを使用すると、インストールされているPythonのバージョンを確認することができます。以下のコマンドを実行して一覧を表示します:
which
コマンド
which
コマンドを使用すると、現在のPythonのバージョンを確認することができます。以下のコマンドを実行して確認してみましょう:
global
コマンド
global
コマンドを使用すると、デフォルトのPythonバージョンを設定することができます。以下のコマンドでデフォルトのバージョンを設定します:
local
コマンド
local
コマンドを使用すると、特定のディレクトリでのみ使用するPythonバージョンを設定することができます。以下のコマンドで現在のディレクトリでのみPython 3.9.2を使用するように設定します:
shell
コマンド
shell
コマンドを使用すると、新しいシェルで使用するPythonバージョンを設定することができます。以下のコマンドで新しいシェルでPython 3.9.2を使用するように設定します:
Pythonのバージョンを指定する
pyenv
を使用すると、Pythonのバージョンを指定することができます。以下のコマンドを使って特定のバージョンのPythonを使用することができます:
このコマンドを実行すると、新しいシェルでPython 3.9.2が使用されます。この設定は一時的なものであり、シェルを閉じると元の設定に戻ります。しかし、pyenv global
やpyenv local
コマンドを使用すると、デフォルトのPythonバージョンを変更することができます。
仮想環境とpyenv
pyenv
は仮想環境との連携もサポートしています。以下では、仮想環境を作成し、使用する方法について説明します。
仮想環境の作成
pyenv
を使用して仮想環境を作成するには、pyenv virtualenv
コマンドを使用します。以下のコマンドを実行して、名前がmyenv
の仮想環境を作成します:
仮想環境のアクティベート
仮想環境を使用するには、pyenv activate
コマンドを使用します。以下のコマンドを実行して、myenv
環境をアクティベートします:
このコマンドを実行すると、新しいシェルでmyenv
環境がアクティブになります。これにより、python
やpip
コマンドを実行すると、myenv
環境内で実行されます。
複数の環境での作業
pyenv
を使用すると、複数の環境で作業することもできます。それぞれの環境で異なるPythonバージョンを使用することができます。例えば、プロジェクトAではPython 3.8.5を使用し、プロジェクトBではPython 3.9.2を使用する場合、以下の手順で環境を切り替えることができます:
- プロジェクトAのディレクトリに移動します。
- Python 3.8.5を設定します。
- プロジェクトBのディレクトリに移動します。
- Python 3.9.2を設定します。
まとめ
この記事では、pyenv
を使用してPythonのバージョンを管理する方法について詳しく解説しました。複数のPythonバージョンを簡単に切り替えたり、仮想環境を使用したりすることで、プロジェクト作業を効率的に行うことができます。また、pyenv
のさまざまなコマンドや機能についても紹介しました。
Pythonの開発やプロジェクトへの貢献をする際に、pyenv
を活用してバージョン管理を行ってみてください。きっと作業効率が向上するでしょう。
この記事の執筆者:Logan Jones