💬
pyenvとpipenv、brew、requirements.txtでいい感じに環境作成
実施環境
mac pro m2
各ライブラリのよく使う新規環境作成コマンド
pyenv関連
### pythonバージョンのinstall
pyenv install 3.12.0
### ローカルへのpythonバージョン設定
pyenv local 3.12.0
※pyenvを使わず、python3.12 -m venv venvなどをする方が公式準拠ではある。
venv関連
### 仮想環境を構築したいディレクトリに移動
### 環境の作成
python -m venv <<stage>>
※<<stage>>名は任意で良い
※python3.12 -m venv venvとすることで、pythonのバージョン指定で環境たちあげも可能
### 環境の有効化
source <<stage>>/bin/activate
※例として source venv/bin/activateなど
### 終了
(**)$ deactivate
### 環境のクリア
対象の<<stage>>をディレクトリごと削除
requirements.txt関連
### install
pip install -r requirements.txt
それぞれのソフトウェアの簡易的な違い
brew
macと相性の良いライブラリのinstallライブラリ
これを用いてpip管理外のライブラリをインストールする
pyenv
複数のPython 本体(インタプリタ)のバージョンを管理・切りかえて利用
基本的には手動でバージョンを切り替えることになるが、特定のディレクトリに移動すると自動でバージョンを切り替えるようにする設定(pyenv local) などもよく使われている。
venv
仮想環境を構築し、pipでinstallしたソフトウェアが他に悪影響を与えないようにするライブラリ
pythonにデフォルトで格納されている
requirment.txt
ツールではないが、一応補足として、pipのライブラリ情報が記載されたテキストファイル
このtxtを用いてライブラリのバージョン管理を管理、視覚化に活用できる
各ライブラリのインストール手順
step1 Homebrewのインストール
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Homebrewの環境変数の設定(zprofileを使用するパターン)
echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/<<ユーザ名>>/.zprofile
eval $(/opt/homebrew/bin/brew shellenv)
確認
brew -v
pyenvとpipenvのinstall
brew install pyenv
pyenvの環境変数を設定
vi ~/.zprofile
で開いて、以下を設定
export PYENV_ROOT=${HOME}/.pyenv
if [ -d "${PYENV_ROOT}" ]; then
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"
fi
上記の環境変数を反映
source ~/.zprofile
pythonのinstall
pyenv install 3.12.0
pyenv global 3.12.0
pyenvに入っているpythonバージョンの確認
pyenv version
ローカルへのpythonの設定
ローカルの好きなパスを作成し、移動
mkdir ~/test
cd ~/test
特定のディレクトリに好きなバージョンを入れる
pyenv local 3.12.0
pyenv version
venvの使い方(こだわりがなければpipenvよりも推奨)
仮想環境の作成(<<stage>>は仮想環境名)
python -m venv <<stage>>
venvの仮想環境を有効化・終了
・有効化
source <<stage>>/bin/activate
・終了
(**)$ deactivate
パッケージのインストール
(**)$pip install XXX
仮想環境の初期化(インストールしたパッケージを全て削除)
$venv —clear
pipenvで仮想環境の立ち上げ
pipenv --python 3.9.4
pipenv shell
あとは自由に好きなライブラリを入れ込み(例ではpandas)
pipenv install pandas
抜ける時はexitを実行
exit
あとはルートディレクトリにrequirements.txtを配置して以下コマンドでインストール
pip install -r requirements.txt
requirements.txtの作成コマンドは以下
pip3 freeze > requirements.txt
Discussion