【備忘録】AnacondaでのPythonの仮想環境の設定とパッケージ管理; condaとpip

備忘録です。
基本的にはcondaでパッケージ管理をしています。しかし、pipにしかないパッケージもあります。仮想環境で準備しなくてはなりません。また、Windowsでmxnet, pytorchなどの深層学習系ライブラリなどを利用する場合は、Python3.7にすることを推奨(2021年10月時点)します。

Anacondaにある仮想環境のリストアップ

conda info -e

仮想環境の生成(構築)

# your_env_nameに作成したい任意の仮想環境の名前を入力する
conda create -n your_env_name 
# pythonを指定する場合
conda create -n your_env_name python=3.7.7
# yamlファイルから環境構築する
conda env create -n your_env_name -f your_env_name.yaml
# 上手くいかない場合はcondaを更新する。
conda update conda
# pipも更新する。
python -m pip install --upgrade pip

仮想環境の起動・停止

# Linux shell または Anaconda Prompt
conda activate your_env_name
# Windows Powershell
activate your_env_name
# 仮想環境の停止
conda deactivate

パッケージインストール

conda install package_name
# version指定
conda install package_name==x.y.z
# Proceed(Yes,No): をスキップする。
conda install -y package_name

不要な環境の削除

# 環境の削除
conda remove -n your_env_name --all
# 不要なパッケージやキャッシュの削除
conda clean --all

仮想環境をyamlファイルに保存する。

#プロジェクトファイル配下に保存する場合
conda env export -n your_env_name > your_env_name.yaml
#深い階層で保存することも可能
conda env export -n your_env_name > ./env/your_env_name.yaml

pipでのパッケージの一括アップデート。

#Powershell
pip install --upgrade ((pip3 freeze) -replace '==.+','')
#Linux
pip list -o | tail -n +3 | awk '{print $1}' | xargs sudo pip install -U

依存関係が壊れてないか確認する。

#condaからインストールしたパッケージも確認くださる便利コマンド
pip check

トラブルシューティング

pip install --upgrade mxnet~=1.7

mxnetインストール後に、
ImportError: No module named _sysconfigdata_x86_64_conda_linux_gnu
がでたとき。
_sysconfigdata_x86_64_conda_cos6_linux_gnu.pyをbaseから仮想環境にコピーすれば解決します。

sudo find / -name _sysconfigdata_x86_64*
cp ~/anaconda3/lib/python3.8/_sysconfigdata_x86_64_conda_cos6_linux_gnu.py ~/anaconda3/envs/your_env/lib/python3.8/_sysconfigdata_x86_64_conda_linux_gnu.py

※参照元(base)と参照先(Pythonが見にいく)のファイル名がちがうことに注意してください。

参考記事

https://stackoverflow.com/questions/68261254/conda-error-sysconfigdata-x86-64-conda-linux-gnu


いいなと思ったら応援しよう!