#概要
condaパッケージマネージャとpipパッケージマネージャを共に使用してもその違いを知らずに使用している人がいるので知識を少しだけでも共有したい。
#FAQ
####conda installとpip installを別に実行するべきか?(pip installとconda installを別に実行するべきか?)
→ pythonパッケージはsite-packagesディレクトリを共有しているので、片方だけinstallをしてもいい。
####conda install vs pip install 違いは何ですか?
→ 違いは、パッケージを受けて来るアドレスが違うし、インストールするモジュールとパッケージが異なる場合がある。pipを実行した場合はpythonに対応するパッケージだけをインストールするのに反してcondaを実行した場合は、pythonパッケージのほか依存性が必要な他のモジュールも一緒にインストールされる。
####conda仮想環境でCUDAをosにインストールせずにcondaモジュールだけで使用可能ですか?
→ condaでcudatoolkitなどのモジュールも一緒に提供しておりnvidiaドライバのインストールだけでバージョンの互換性に合わせて便利に使用できる。
####conda仮想環境ではなく、virtualenv環境では、CUDAをosにインストールしますか?
→ conda環境がない場合には、CUDAをosにインストールして、LD_LIBRARY_PATH環境変数に設定が必要だ。
#構成
次の構成もだけ理解すれば90%を知ることが変わらない。
#仮想環境生成
実験のために、仮想環境を作成して活性化させてみよう
C:\Users\Lenovo>conda create -n py37_test python=3.7
C:\Users\Lenovo>conda activate py37_test
(py37_test) C:\Users\Lenovo>
#例1) conda install
#####1. conda installコマンドでPillowパッケージをインストール
(py37_test) conda install -c anaconda pillow
The following packages will be downloaded:
package | build
---------------------------|-----------------
jpeg-9d | h2bbff1b_0 283 KB
------------------------------------------------------------
Total: 283 KB
The following NEW packages will be INSTALLED:
freetype pkgs/main/win-64::freetype-2.10.4-hd328e21_0
jpeg pkgs/main/win-64::jpeg-9d-h2bbff1b_0
libpng pkgs/main/win-64::libpng-1.6.37-h2a8f88b_0
libtiff pkgs/main/win-64::libtiff-4.2.0-hd0e1b90_0
lz4-c pkgs/main/win-64::lz4-c-1.9.3-h2bbff1b_1
olefile pkgs/main/win-64::olefile-0.46-py37_0
pillow pkgs/main/win-64::pillow-8.3.1-py37h4fa10fc_0
tk pkgs/main/win-64::tk-8.6.10-he774522_0
xz pkgs/main/win-64::xz-5.2.5-h62dcd97_0
zlib pkgs/main/win-64::zlib-1.2.11-h62dcd97_4
zstd pkgs/main/win-64::zstd-1.4.9-h19a0ad4_0
#####2. conda listとpip listにPillowパッケージのインストールの確認
site-packagesディレクトリにPillowディレクトリが作成されたことを確認することができる。
(py37_test) C:\Users\Lenovo>conda list
# packages in environment at D:\anaconda3\envs\py37_test:
#
# Name Version Build Channel
ca-certificates 2021.7.5 haa95532_1
certifi 2021.5.30 py37haa95532_0
freetype 2.10.4 hd328e21_0
jpeg 9d h2bbff1b_0
libpng 1.6.37 h2a8f88b_0
libtiff 4.2.0 hd0e1b90_0
lz4-c 1.9.3 h2bbff1b_1
olefile 0.46 py37_0
openssl 1.1.1l h2bbff1b_0
pillow 8.3.1 py37h4fa10fc_0
pip 21.0.1 py37haa95532_0
python 3.7.11 h6244533_0
setuptools 58.0.4 py37haa95532_0
sqlite 3.36.0 h2bbff1b_0
tk 8.6.10 he774522_0
vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
wheel 0.37.0 pyhd3eb1b0_1
wincertstore 0.2 py37_0
xz 5.2.5 h62dcd97_0
zlib 1.2.11 h62dcd97_4
zstd 1.4.9 h19a0ad4_0
(py37_test) C:\Users\Lenovo>pip list
Package Version
------------ ---------
certifi 2021.5.30
olefile 0.46
Pillow 8.3.1
pip 21.0.1
setuptools 58.0.4
wheel 0.37.0
wincertstore 0.2
#####3. conda uninstallにインストールされたpillowパッケージを削除してみよう
(py37_test) C:\Users\Lenovo>conda uninstall pillow
#####4. conda listとpip listにpillowパッケージの削除を確認
(py37_test) C:\Users\Lenovo>conda list
# packages in environment at D:\anaconda3\envs\py37_test:
#
# Name Version Build Channel
ca-certificates 2021.7.5 haa95532_1
certifi 2021.5.30 py37haa95532_0
openssl 1.1.1l h2bbff1b_0
pip 21.2.2 py37haa95532_0
python 3.7.11 h6244533_0
setuptools 58.0.4 py37haa95532_0
sqlite 3.36.0 h2bbff1b_0
vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
wheel 0.37.0 pyhd3eb1b0_1
wincertstore 0.2 py37_0
(py37_test) C:\Users\Lenovo>pip list
Package Version
------------ ---------
certifi 2021.5.30
pip 21.2.2
setuptools 58.0.4
wheel 0.37.0
wincertstore 0.2
#例2) pip install
#####1. pip installコマンドでpillowパッケージをインストール
(py37_test) C:\Users\Lenovo>pip install Pillow
Collecting Pillow
Downloading Pillow-8.3.2-cp37-cp37m-win_amd64.whl (3.2 MB)
|████████████████████████████████| 3.2 MB 3.3 MB/s
Installing collected packages: Pillow
Successfully installed Pillow-8.3.2
#####2. pip listとconda listにpillowパッケージのインストールの確認
site-packagesディレクトリにPillowディレクトリが作成されたことを確認することができる。
この部分でconda installした場合と他の点を気づいしたはずだ。
build、channelを見ると、pypi repositoryに受けてきたことを確認することができる。
(py37_test) C:\Users\Lenovo>conda list
# packages in environment at D:\anaconda3\envs\py37_test:
#
# Name Version Build Channel
ca-certificates 2021.7.5 haa95532_1
certifi 2021.5.30 py37haa95532_0
openssl 1.1.1l h2bbff1b_0
pillow 8.3.2 pypi_0 pypi
pip 21.2.2 py37haa95532_0
python 3.7.11 h6244533_0
setuptools 58.0.4 py37haa95532_0
sqlite 3.36.0 h2bbff1b_0
vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
wheel 0.37.0 pyhd3eb1b0_1
wincertstore 0.2 py37_0
(py37_test) C:\Users\Lenovo>pip list
Package Version
------------ ---------
certifi 2021.5.30
Pillow 8.3.2
pip 21.2.2
setuptools 58.0.4
wheel 0.37.0
wincertstore 0.2
#####3. pip uninstallにインストールされたpillowパッケージを削除してみよう
(py37_test) C:\Users\Lenovo>pip uninstall Pillow
Found existing installation: Pillow 8.3.2
Uninstalling Pillow-8.3.2:
Would remove:
d:\anaconda3\envs\py37_test\lib\site-packages\pil\*
d:\anaconda3\envs\py37_test\lib\site-packages\pillow-8.3.2.dist-info\*
Proceed (Y/n)?
#####4. pip listとconda listにpillowパッケージの削除を確認
site-packagesディレクトリからPillowディレクトリが削除された。
(py37_test) C:\Users\Lenovo>conda list
# packages in environment at D:\anaconda3\envs\py37_test:
#
# Name Version Build Channel
ca-certificates 2021.7.5 haa95532_1
certifi 2021.5.30 py37haa95532_0
openssl 1.1.1l h2bbff1b_0
pip 21.2.2 py37haa95532_0
python 3.7.11 h6244533_0
setuptools 58.0.4 py37haa95532_0
sqlite 3.36.0 h2bbff1b_0
vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
wheel 0.37.0 pyhd3eb1b0_1
wincertstore 0.2 py37_0
(py37_test) C:\Users\Lenovo>pip list
Package Version
------------ ---------
certifi 2021.5.30
pip 21.2.2
setuptools 58.0.4
wheel 0.37.0
wincertstore 0.2