728x90
반응형
※ 퍼가실때 반드시 출처를 남겨주세요
개요
conda 패키지 관리자와 pip 패키지 관리자를 같이 사용하면서 두 개의 차이점에 대해서 알지 못하고 사용하는 분들이 많이 안타까워 알고있는 지식을 최대한 공유하여 남기고자한다.
FAQ
- conda install 하면 pip install도 별도로 해줘야하나요? (pip install하면 conda install도 별도로 해줘야하나요?)
→ python 패키지는 site-packages 같은 디렉토리를 공유하고 있으므로 한쪽만 install 을 해주면 됩니다. - conda vs pip 차이점은 무엇인가요?
→ 차이점은 패키지를 받아오는 주소가 다르고 설치하는 모듈과 패키지가 다를 수 있습니다. 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 패키지 삭제 확인
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
예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
반응형
728x90
반응형
'AI 인공지능 > AI Environment' 카테고리의 다른 글
Keras 멀티 GPU 사용 방법 (0) | 2022.11.21 |
---|---|
PyTorch Tensorboard 시각화 (0) | 2021.09.12 |
torchsummary 모델 정보 요약 (0) | 2021.09.12 |
Tensorflow Object Detection 흐름도 (0) | 2019.02.03 |