0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

pyenvでの環境構築

0
Last updated at Posted at 2026-08-13

0. 概要

condaが有料化しちゃったから、同じような使い方のできるpyenvを使っていく。環境はDebian系。
windows版のpyenv-win等があるが、あれはpyenv-virtualenvが使えないからだめだ。大人しくuvを使おう。

Ubuntuでpyenv + pyenv-virtualenvを導入する手順

Ubuntuで pyenv activate XXXを使えるようにするための手順です。
pyenv activate を使うには、pyenv 本体だけでなく pyenv-virtualenv も必要です。

1. 必要なパッケージをインストール

sudo apt update

sudo apt install -y \
  build-essential \
  curl \
  git \
  libssl-dev \
  zlib1g-dev \
  libbz2-dev \
  libreadline-dev \
  libsqlite3-dev \
  libncursesw5-dev \
  xz-utils \
  tk-dev \
  libxml2-dev \
  libxmlsec1-dev \
  libffi-dev \
  liblzma-dev

2. pyenvをインストール

curl -fsSL https://pyenv.run | bash

このインストーラで以下がインストールされます。

  • pyenv
  • pyenv-virtualenv
  • pyenv-update
  • pyenv-doctor
  • pyenv-which-ext

3. bashの設定

~/.bashrc に以下を追加します。

cat <<'EOF' >> ~/.bashrc

# pyenv
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"

eval "$(pyenv init - bash)"
eval "$(pyenv virtualenv-init -)"
EOF

設定を反映します。

exec "$SHELL"

または、

source ~/.bashrc

でもOKです。

4. pyenvが使えることを確認

pyenv --version

pyenv-virtualenvも確認します。

pyenv virtualenv --version

両方ともバージョンが表示されればOKです。

5. インストール可能なPythonを確認

例えばPython 3.12系を確認する場合:

pyenv install --list | grep '3.12'

6. Pythonをインストール

例としてPython 3.12.11をインストールします。

pyenv install 3.12.11

インストール済みのPythonは以下で確認できます。

pyenv versions

7. 仮想環境を作成

Python 3.12.11を使って XXX という名前の環境を作ります。

pyenv virtualenv 3.12.11 XXX

作成された環境を確認します。

pyenv versions

例えば以下のように表示されます。

* system
  3.12.11
  3.12.11/envs/XXX
  XXX

8. 仮想環境を有効化

pyenv activate XXX

確認:

python --version
which python

例えば以下のようなパスになっていればOKです。

/home/USERNAME/.pyenv/shims/python

現在のpyenv環境も確認できます。

pyenv version

9. 仮想環境を終了

pyenv deactivate

プロジェクトごとに自動で環境を切り替える

毎回、

pyenv activate XXX

を実行する代わりに、プロジェクトディレクトリに環境を設定できます。

例えば:

mkdir -p ~/projects/myproject
cd ~/projects/myproject

そこで、

pyenv local XXX

を実行します。

すると、

.python-version

というファイルが作成されます。

確認:

cat .python-version
XXX

以後、このディレクトリに移動すると自動的に XXX が使われます。

cd ~/projects/myproject

python --version
pyenv version

よく使うコマンド

インストール済みPython・仮想環境一覧

pyenv versions

現在使用中の環境

pyenv version

仮想環境を有効化

pyenv activate XXX

仮想環境を無効化

pyenv deactivate

ディレクトリ単位で環境を設定

pyenv local XXX

local設定を解除

pyenv local --unset

デフォルトのPythonを指定

例えばPython 3.12.11をデフォルトにする場合:

pyenv global 3.12.11

systemのPythonに戻す場合:

pyenv global system

仮想環境を削除

pyenv uninstall XXX

pyenv activate が使えない場合

以下のエラーが出る場合:

pyenv: no such command 'activate'

まず pyenv-virtualenv が存在するか確認します。

ls ~/.pyenv/plugins/pyenv-virtualenv

存在する場合は、~/.bashrc に以下があるか確認します。

eval "$(pyenv virtualenv-init -)"

確認:

grep virtualenv-init ~/.bashrc

何も表示されない場合は追加します。

echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc

反映:

source ~/.bashrc

その後、

pyenv activate XXX

を再度実行します。

最小手順まとめ

sudo apt update

sudo apt install -y \
  build-essential \
  curl \
  git \
  libssl-dev \
  zlib1g-dev \
  libbz2-dev \
  libreadline-dev \
  libsqlite3-dev \
  libncursesw5-dev \
  xz-utils \
  tk-dev \
  libxml2-dev \
  libxmlsec1-dev \
  libffi-dev \
  liblzma-dev

curl -fsSL https://pyenv.run | bash

cat <<'EOF' >> ~/.bashrc

# pyenv
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"

eval "$(pyenv init - bash)"
eval "$(pyenv virtualenv-init -)"
EOF

exec "$SHELL"

pyenv --version
pyenv virtualenv --version

pyenv install 3.12.11

pyenv virtualenv 3.12.11 XXX

pyenv activate XXX

python --version
pyenv version
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?