【備忘録】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