こんにちは。ナミレリです。みなさん、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でプロのコードを書くための考え方やテクニックを学びたい方におすすめ書籍です。
「VTuberサプーが教える! 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】Ubuntu 22.10(Kinetic Kudu)にpyenvをインストールし環境構築する」はいかがでしたでしょうか。最新のUbuntu22.10でシンプルで使いやすいPython環境の構築を紹介しました。みなさんのLinuxライフに少しでもお役に立てたら幸いです。
MacやLinux、Pythonなど技術系のkindle本も豊富にあります。詳しくはこちらから。
Amazonの電子書籍読み放題サービス「Kindle Unlimited」でプライム会員を対象に、最初の3か月間を無料体験できるキャンペーンを実施中。マンガ、小説、ビジネス書、雑誌など500万冊から、好きな本を何冊でも読めるキャンペーンです。
初めてkindle unlimited 読み放題をご利用の方は30日間の無料で体験できます。
期間終了後は月額980円で、いつでもキャンセルできます。
200万冊以上が読み放題。お好きな端末で利用可能です。