"BOKU"のITな日常

BOKUが勉強したり、考えたことを頭の整理を兼ねてまとめてます。

Pythonの仮想環境管理(conda使用)とパッケージ管理(pip)のまとめ

f:id:arakan_no_boku:20190603172559j:plain

 

目次

Anaconda付属ツール「conda」

自分のPython開発環境は、Windows10+Anacondaを前提にしています。

arakan-pgm-ai.hatenablog.com

condaはAnaconda付属のツールです。

パッケージのインストールできますが、他のパッケージ管理(pip)と混在して使うと時々おかしくなるので、パッケージ管理はpip、それ以外をcondaでやるのがいいです。おかしくなる理由は長くなるので最後のほうにまとめました。

condaの機能1:Anacondaのアップデート 

インストール済のAnacondaを最新版にアップデートします。

Anaconda自体をアップデートする場合

conda update -n base conda 

Ancondaに含まれるパッケージをアップデートする場合(オール)

 conda update --all

allは実行すると、そこそこ、時間がかかります。 

condaの機能2:仮想環境の作成と確認

仮想環境を新規に作るのは。

conda create -n 仮想環境名 python=バージョン

または

conda create --name 環境名 python=バージョン

例として、python3.7で、「restapi」という仮想環境を作るなら。

 conda create --name restapi python=3.7

てな感じです。

 

作成済の仮想環境の一覧は。

conda info --env

 または

conda info -e

で行います。

f:id:arakan_no_boku:20190603205401p:plain

 

仮想環境の削除は

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を混在して使うと、環境がおかしくなる可能性があります。

こちらの記事に詳しいです。

onoz000.hatenablog.com

最悪、どうなるかだけ引用すると。

パッケージ1つのインストールでAnaconda環境が壊れてしまい、Anacondaそのものを再インストールしない限り修復困難になってしまうことがある。

また、condaがハードリンクを用いてパッケージを共有している関係から一つの環境でやらかしてしまったが最後、他の仮想環境まで破壊されることもある。

そうです。

自分の環境でも、condaとpipを混在で使い、重複インストールの問題がおきたことがあります。

必ず、環境が壊れる・・わけではないですが、そういうことは発生しないにこしたことはありませんが、自分は「pip」に統一しています。 

ではでは。 

関連記事

arakan-pgm-ai.hatenablog.com

#python