こんにちは。ナミレリです。みなさん、UbuntuでPythonは使っていますか?
Python環境の構築はいろいろありますが、私はpyenvとvenvでPython環境を構築しています。
今回はUbuntu 22.10(Kinetic Kudu)にpyenvをインストールして環境構築していきます。インストールもあっさり簡単にできますのでぜひトライしてみてください。

この記事はこんな人にオススメ
- Ubuntu 22.10(Kinetic Kudu)にpyenvをインストールしたい
- Ubuntuで複数のPythonのバージョンを使いたい
- UbuntuでディレクトリごとにPythonのバージョンを切り替えたい
M1/M2 MacでPython環境の構築(pyenvとvenvのインストールと設定、そして使い方)についてはこちらをぜひご覧ください。Ubuntuでも設定やコマンドは同じです。
この記事でわかること
- Ubuntuへのpyenvインストール方法と初期設定
- pyenvによるPythonインストールとバージョン管理
- venvによる仮想環境の切り替え方


目次
そもそもpyenvとvenvってなに?
pyenvとvenvについてこちらの記事で紹介していますのでぜひご覧ください。
pyenvは複数のバージョンのPythonを簡単に切り替えできるもので、venv は、pipでインストールしたパッケージなどをプロジェクトごとに独立させることができるソフトウェアです。
pyenvのメリットとデメリット
例えば、最新のPython3.11とPython3.8をpyenv環境にインストールしておけば、Pythonのバージョンをpyenv globalコマンドやpyenv localコマンドで指定して、簡単に切り替えることができます。
最新のPython3.11の高速化を試したり、AnacondaやMinicondaなどのPythonディストリビューションをpyenv installコマンドでインストールし、簡単に切り替えることができるので気軽に試せるのが一番の魅力のように思っています。不要になったらPythonのアンインストールもpyenv uninstallコマンドで簡単にできます。
デメリットとしては、Windowsではpyenvはサポートされていないことや多少仕組みが複雑、というぐらいでしょうか。確かにシンプルが一番です。下記サイトにメリットデメリットがまとめられていますので、ぜひ読んでみてください。
pyenvのたくさんのコマンドについてはこちらの記事で紹介しています。
事前準備
pyenvでPythonをインストールするために必要なライブラリを先にインストールしておきます。
sudo apt install -y make build-essential libssl-dev \
zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \
wget curl llvm libncurses5-dev libncursesw5-dev xz-utils \
tk-dev libffi-dev liblzma-dev git
ライブラリ | 説明 |
---|---|
build-essential | 開発に必須のビルドツールを提供するパッケージ |
libssl-dev | OpenSSLのヘッダとライブラリ |
zlib1g-dev | gzipとPKZIPで使われているdeflate圧縮法を実装したライブラリ |
libbz2-dev | bzip2 圧縮ライブラリ用の静的ライブラリおよびインクルードファイル |
libreadline-dev | CLIを必要とする個々のプログラムで一貫したユーザインターフェースの提供を補助するライブラリ |
libsqlite3-dev | SQL データベースエンジンを実装するCライブラリ |
wget | ウェブサーバからコンテンツを取得するダウンローダ |
curl | URLシンタックスを用いてファイルを送信または受信するコマンドラインツール |
llvm | |
libncurses5-dev | 安全に削除できる移行パッケージ |
libncursesw5-dev | 安全に削除できる移行パッケージ |
xz-utils | コマンドライン可逆圧縮ソフトウェアのセット |
tk-dev | クロスプラットフォームのグラフィカルツールキット |
libffi-dev | libffiを使用するプログラムのビルドに必要なヘッダーとライブラリ |
liblzma-dev | bzip2よりも強力な圧縮と高速な解凍を提供するライブラリ |
git | 言わずと知れたgit |
Ubuntuにpyenvのインストールする
ではUbuntuにpyenvをインストールします。
インストール方法はホームディレクトリでgitでpyenvをチェックアウトしconfigure、makeします。
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
cd ~/.pyenv && src/configure && make -C src
Ubuntuでpyenvを設定する
pyenvの設定はzshの場合は~/.zshrcに下記を追加するだけです。bashの場合は~/.bashrcです。追加後はshellをリスタートします。
vi ~/.zshrc
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
exec $SHELL
# 上記でSHELLをリスタートします
基礎をわかりやすく解説しておりサンプルコードも多くオススメです:Python[完全]入門 Kindle版
pyenv installコマンドでPythonをインストールする
2022年10月にリリースされた最新のPythonである3.11.0をインストールしてみます。私にとって3.11.0は高速化が最大の魅力でワクワクしています。
pyenv install 3.11.0
pyenv versions
system
* 3.11.0 (set by /Users/mac-test/.pyenv/version)
which python
/Users/mac-test/.pyenv/shims/python
which pip
/Users/mac-test/.pyenv/shims/pip
python --version
Python 3.11.0
3.10.8もインストールしておきます。
pyenv install 3.10.8
pyenv versions
system
3.10.8
* 3.11.0 (set by /Users/mac-test/.pyenv/version)
主要なpyenvコマンドは下の通りです。詳しくはこちらの記事で紹介していますのでぜひご覧ください。
コマンド | コマンドの説明 |
---|---|
pyenv install --list | インストール可能なPythonバージョンを確認 |
pyenv shell <version> | 現在のシェルセッションのみPython環境を切り替える |
pyenv local <version> | 現在のディレクトリ配下でPython環境を切り替える |
pyenv global <version> | そのユーザの全てのディレクトリでPython環境を切り替える |
Python初学者におすすめ書籍です。「シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全」Udemyで人気No.1を獲得したPython講座の書籍です。
Ubuntuでvenvの仮想環境を構築する
venv環境をサクッと作ります。
mkdir -p ~/py_3.11.0/venv_1
cd ~/py_3.11.0/venv_1
python -m venv .venv
source .venv/bin/activate
venv仮想環境でpipでnumpyをインストールします。
pip install --upgrade pip
pip install numpy
venvを抜けるにはdeactivate
deactivate
Linuxのコマンドラインを学びたい方におすすめ!
講座買い切り型で、視聴期限なし。自分のペースで学べる。
現場で活躍されているプロが教えるコースを選べます。
最後に
最後まで読んでいただきありがとうございます。今回「【Linux】Ubuntu 22.10(Kinetic Kudu)にpyenvをインストールし環境構築する」はいかがでしたでしょうか。最新のUbuntu22.10でシンプルで使いやすいPython環境の構築を紹介しました。みなさんのLinuxライフに少しでもお役に立てたら幸いです。
Linuxの超基本的な部分から実践的なシェルスクリプトまで丁寧にわかりやすく解説されている本です。実際にLinuxを操作しながら理解できるのでこれからLinuxを学ぶ初心者の方にオススメの一冊です。基本的やファイル操作、ファイルパーミッション、標準入出力とパイプライン、テキスト処理などはMacも含めてUNIX系OSであれば共通している基本的なことなのでLinuxOSに限らず重宝します。
MS-DOSを知らない世代のエンジニアに向けたLinux入門書の決定版。
Linux自身の機能だけでなく、シェルスクリプトを使ったプログラミングや、Gitによるソフトウェア開発のバージョン管理など、イマドキのエンジニアなら知っておくべき知識についても、丁寧に解説しました!Redhat系、Debian系に対応
Amazon