Windows10にAnacondaの環境構築をするとき、度忘れしている自分用のまとめです。
Anacondaのアップデート
新規インストールは以下の配付サイトから、Windowsの64ビット版のインストーラをダウンロードして実行すれば良いです。
インストール済のAnacondaのアップデートはこちら。
Anaconda自体をアップデートする場合
conda update -n base conda
Ancondaに含まれるパッケージをアップデートする場合(オール)
conda update --all
これは実行すると、そこそこ、時間がかかります。
仮想環境の作成と確認
作成済の仮想環境の一覧です。
conda info --env
または
conda info -e
です。
仮想環境を新規に作るのは。
conda create -n 仮想環境名 python=バージョン
または
conda create --name 環境名 python=バージョン
例として、python3.7で、「restapi」という仮想環境を作るなら。
conda create --name restapi python=3.7
てな感じです。
仮想環境が作成されたpathの確認もかねて、もう一回一覧。
conda info -e
ちなみに。
仮想環境を削除するなら。
conda remove -n 仮想環境名 --all
です。
仮想環境をアクティブにするのは。
activate 仮想環境名
仮想環境をノンアクティブにするのは。
deactivate
です。
ただ、最近はこれだと、警告メッセージがでるときがあります。
DeprecationWarning: 'deactivate' is deprecated. Use 'conda deactivate'.
あくまで警告で、問題なく切り替わります。
ただ、気になる場合は、メッセージ通り「conda activate」と「conda deactivate」と打ち込んだほうがいいと思います。
インストールには、condaとpipのふたつが使えます。
でも、仮想環境単位で「conda」か「pip」かに統一したほうが良いです。
理由は長くなるので最後のほうにまとめました。
自分は「pip」に統一してます。
理由は自分が使うパッケージが一部condaで見つからないことがあるからです。
(例えば djangorestframeworkとかはそうでした。)
pipを使ったパッケージ管理
インストール可能なパッケージの確認
pip search パッケージ名
アップデート可能なパッケージの確認
pip list -o
インストール済パッケージの一覧
pip freeze
または
pip list
pip freezeのほうが、pip自体やsetuptools, wheelなどのパッケージ管理のためのパッケージがリストされないので、見やすいです。
なお、名前を指定して絞り込みたいときは、findと組み合わせればできます。
pip list | find "urllib"
上記で「urllib3」だけが表示されます。
インストール
pip install パッケージ名
アップデート
pip install -U パッケージ名
アンインストール
pip uninstall パッケージ名
pip自身のアップデート
pip install -U pip
condaを使ったパッケージ管理
インストール可能なパッケージの確認
conda search パッケージ名
インストール済パッケージの一覧を取得する。
conda list -n 仮想環境名
または
conda list --name 仮想環境名
パッケージ指定の場合
conda list パッケージ名 -n 仮想環境名
インストール
conda install パッケージ名
アップデート
conda update パッケージ名
アンインストール
conda uninstall パッケージ名
こんな感じです。
pipとcondaを混在させない理由
condaとpipを混在して使うと、環境がおかしくなる可能性があります。
こちらの記事に詳しいです。
最悪、どうなるかだけ引用すると。
パッケージ1つのインストールでAnaconda環境が壊れてしまい、Anacondaそのものを再インストールしない限り修復困難になってしまうことがある。
また、condaがハードリンクを用いてパッケージを共有している関係から一つの環境でやらかしてしまったが最後、他の仮想環境まで破壊されることもある。
そうです。
自分の環境でも、condaとpipを混在で使い、重複インストールの問題がおきたことがあります。
必ず、環境が壊れる・・わけではないですが、そういうことは発生しないにこしたことはありません。
自分は「pip」に統一するのを推奨します。
ではでは。
関連記事