"-e" 옵션은 설치한 경우 파이썬 패키지를 담는 "site-packages" 디렉토리에 설치되는 것은 동일하나, 심볼릭 링크로 설치가되어 원본소스코드가 변경된 후, 별도의 pip install 명령어 없이, import시 바로 변경사항이 반영되는 옵션
pip install -e 옵션
종종 github에서 πp∈stall-e.로 "-e"옵션을 함께 전달하여 파이썬 패키지를 설치하라는 리포지토리가 있습니다

예시로 아래와 같은 패키지 디자인의 경로가 있다고 가정합니다.
(camelyon) @gpusvr03:~/repositories/camelyon$ tree -L 1
.
├── camelyon
├── data
├── LICENSE
├── logs
├── notebooks
├── README.md
├── setup.py
├── tiling_version16.py
├── tiling_version17.py
└── utils.py
이 패키지의 setup.py에는 다음과 같이 설치 명령어가 있습니다. 이 setup.py을 이용하여 "$pip install ."을 해보겠습니다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from setuptools import find_packages, setup | |
setup( | |
name="camelyon", | |
version="0.4", | |
packages=find_packages(), | |
package_dir={"": "."}, | |
install_requires="openslide-python", "matplotlib", "numpy", | |
) |
아래와 같이 잘 설치됨을 알 수 있습니다. 패키지 설치장소는 가상환경인 "/home/heon/anaconda3/envs/camelyon"에 설치되었습니다.

설치한 패키지를 들어가보면, setup.py에서 지정한 p.y파일들이 들어가있습니다.

이 패키지를 지우고, pip install -e 옵션으로 설치해보겠습니다. 패키지가 설치된 장소를 들어가보면, *.egg-link만 있습니다.

이 링크의 내용물은 경로만 담겨져 있습니다.

*egg.link 파일은 내부에 파일하나나 디렉토리만 담고있습니다. 심볼릭링크를 지원하기위한 파일입니다. 즉, 설치는 했지만 바라보는 소스코드는 원본을 바라보고 있어서, 디렉토리의 변경사항을 바로 추적할 수 있습니다.
반응형
'Data science > MLOps' 카테고리의 다른 글
nvidia-driver, cuda toolkit update (0) | 2024.05.03 |
---|---|
API token bucket: API 요청수 관리 (0) | 2024.04.08 |
mlflow child run id 조회하기 (0) | 2023.09.25 |
Step by Step Github action으로 CD/CI 배포하기 (예제코드 포함) (0) | 2023.07.31 |
클러스터 구성 / 쿠버네티스 설치(master, worker node) (0) | 2023.01.08 |