目次
Pythonのcondaのよく使う機能
僕のPython開発環境は、Windows10+Anacondaです。
なので、今回は「conda」で説明をすすめます。
Anaconda付属ツール「conda」
condaはAnaconda付属のツールです。
condaは多機能です。
パッケージ管理ツールとしても使えますし、仮想環境管理ツールとしても使えます。
ただ、僕はパッケージ管理はpip、condaはAnacondaそのもののアップデートと仮想環境管理にのみ使うことにしています。
condaをパッケージ管理ツールとして、pipと混在して使うと時々おかしくなるからなのですが、その理由は長くなるので最後のほうにまとめることにして続けます。
condaの機能1:Anacondaのアップデート
インストール済のAnacondaを最新版にアップデートします。
Anaconda自体をアップデートする場合
conda update -n base conda
Ancondaに含まれるパッケージをアップデートする場合(オール)
conda update --all
allは実行すると、そこそこ、時間がかかります。
condaの機能2:仮想環境の作成・管理
仮想環境とは、Python で開発するときに用途に応じて作成できる専用の実行環境だとイメージすればいいです。
仮想環境を使うと、異なるバージョンの Python を使いわけたり、同じモジュールの、複数のバージョンを使い分けたりできます。
こういった仮想環境の作成・管理ができるアプリケーションは「Python3標準のvenv」もありますが、今回はcondaでやる方法です、
仮想環境を新規に作るのは。
conda create -n 仮想環境名 python=バージョン
または
conda create --name 環境名 python=バージョン
例として、python3.7で、「restapi」という仮想環境を作るなら。
conda create --name restapi python=3.7
てな感じです。
作成済の仮想環境の一覧は。
conda info --env
または
conda info -e
で行います。
仮想環境の削除は
conda remove -n 仮想環境名 --all
です。
仮想環境のファイル群を作成するディレクトリパスの確認は。
conda config --show envs_dirs
です。
仮想環境を作成するディレクトリパスを指定するには、環境変数 CONDA_ENVS_PATH を設定します。
設定するパスは「C:\00boku\.conda\envs」のように、必ず「envs」で終了させます。
condaの機能3:仮想環境をアクティブ・非アクティブ
仮想環境をアクティブにするのは。
conda activate 仮想環境名
仮想環境をノンアクティブにするのは。
conda deactivate
です。
もっと短い入力方法で
activate 仮想環境名
deactivate
も使えますが、最近は警告メッセージがでるときがあります。
DeprecationWarning: 'deactivate' is deprecated. Use 'conda deactivate'.
あくまで警告で、問題なく切り替わりますが、メッセージ通り「conda activate」と「conda deactivate」と打ち込んだほうがいいと思います。
パッケージ管理(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
です。
注意点:パッケージ管理でpipとcondaを混在させない
パッケージ管理で、condaとpipを混在して使うのは、基本NGです。
どちらか一方に決めるべきです。
でないと、環境がおかしくなる可能性があります。
実際、僕の環境でも、condaとpipを混在で使い、重複インストールの問題がおきたことがあります。
この件は、こちらの記事に詳しく紹介されています。
最悪、どうなるかだけ引用すると。
パッケージ1つのインストールでAnaconda環境が壊れてしまい、Anacondaそのものを再インストールしない限り修復困難になってしまうことがある。
また、condaがハードリンクを用いてパッケージを共有している関係から一つの環境でやらかしてしまったが最後、他の仮想環境まで破壊されることもある。
そうです。
必ず、環境が壊れる・・わけではないですが、そういうことは発生しないにこしたことはありませんが、自分は「pip」に統一しています。
ではでは。