2
2

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とvenvを使ったPython仮想環境の構築(Windows11 vs Apple Silicon Mac)

Posted at

Pythonの仮想環境の構築は素の状態からすることはあまりなく、すべての工程になると忘れがちです。また、OSによってもかなり異なる部分がありました。そこで、pyenvとvenvを使った仮想環境の構築方法をOS間で比較するような形でまとめてみました。

Python本体のインストール

Windows11

Windows11の場合は素の状態ではPythonがインストールされていないので、インストーラーを公式からダウンロードしてインストールします。以下のリンク先はPython 3.11.0のインストーラーのダウンロードページです。

パスを通す設定でインストールします。

インストーラー.png

Mac

Macの場合はデフォルトでPythonが入っていてpython3で起動します。

pyenvのインストール

Windows11

PowerShellを開いて以下のコマンドの実行します。

pip install pyenv-win --target $HOME\\.pyenv

続いて、以下のコマンドを実行してPYENVPYENV_HOMEPYENV_ROOTを環境変数に追加します。

[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('PYENV_ROOT',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")

最後に以下のコマンドで\.pyenv\pyenv-win\bin \.pyenv\pyenv-win\shimsをパスに追加したらインストール完了です。

[System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")

Mac

HomeBrewがインストールされていない場合はこれをインストールします

インストールは以下のコマンドで行います。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

最後に以下のコマンドでパスを通して完了です。

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/<ユーザー名>/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

続いてpyenvをインストールします。

以下のコマンドでpyenvをインストールしたら、

brew update
brew install pyenv

以下のコマンドでパスを通して完了です。

export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

pyenvでのPythonバージョンの切り替え

ここからはWindows/Mac共通です。

以下のコマンドを打つとインストール可能なPythonのバージョンリストが表示されます。

pyenv install -l

その中からインストールしたいバージョンを選び以下のようなコマンドでインストールします。

pyenv install 3.10.0

pyenvでインストールされているPythonの中から以下のようにバージョンを指定すると使用するPythonのバージョンを切り替えられます。

pyenv global 3.10.0

pyenv global とだけ打つと、指定されているバージョンを確認できます。また、インストールされているPythonのバージョンリストはpyenv versionsで確認できます。

仮想環境構築

以下のコマンドを実行すると指定したパスに指定した名前の仮想環境が構築されます。

python -m venv パス/<仮想環境名>

Windowsではデフォルトでインタプリタもコピーされますが、Macだとインタプリタはコピーされずリンクファイルだけ作られます。インタプリタもコピーさせたい場合は--copiesオプションを付けます。

python -m venv パス/<仮想環境名> --copies 

VSCodeでPythonのインタプリタを指定することで使用する仮想環境を切り替えたいとき、Macではインタプリタをコピーしておかないと上手く指定できません。ただし、プロジェクト毎に専用の仮想環境を作るのであれば特に意識する必要はないと思います。

仮想環境のアクティベート

以下のコマンドで仮想環境がアクティベートされます。

Windows11

<venv>\Scripts\Activate.ps1

Mac

source <venv>/bin/activate

どちらもdeactivateで仮想環境を抜けることができます。

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?