Composer PyPI Package
베하, 다들 잘 지내고 계신가요.
엊그제 새해가 온 거 같은데, 어느덧 1월의 마지막이 왔네요.
오늘은 Composer에서 PyPI Package에 대해 알아보겠습니다.
그럼, 시작하겠습니다.
먼저 PyPI Package의 종류에 대해 알아보겠습니다.
Preinstalled PyPI Package는 해당 환경의 Composer Image에 포함된 Package입니다. 각 Composer Image에는 Composer 및 Airflow Version과 관련된 PyPI Package가 포함됩니다.
Custom PyPI Package는 Preinstalled PyPI Package 외에 추가로 Environment 에 설치할 수 있는 Package입니다.
Package를 List하는 방법에 대해 알아보겠습니다.
먼저, Preinstalled PyPI Package List 명령어입니다.
gcloud beta composer environments list-packages \
[Environment명] \
--location [Location명]
Environment의 이름과 Environment가 존재하는 Location을 적용하면 됩니다.
두번째는 Custom PyPI Package List 명령어입니다.
gcloud composer environments describe [Environment명] \
--location [Location명] \
--format="value(config.softwareConfig.pypiPackages)"
다음으론 Composer에 Custom Package를 변경, 추가, 삭제하는 방법에 대해 알아보겠습니다.
먼저 PyPI에서 실행하는 명령어입니다.
[PyPI Package 변경 명령어]
gcloud composer environments update [Environment명] \
--location [Location명] \
--update-pypi-packages-from-file requirements.txt
여기서 'requirements.txt'는 Package 요구사항이 기술된 문서입니다.
해당 명령어 실행 시 주의할 점은, 요구사항 문서에 기술된 Package로 변경된다는 점입니다.
이때, 지정되지 않은 기존 Package는 삭제된다는 점 유의 바라겠습니다.
[PyPI Package 추가 명령어]
gcloud composer environments update [Environment명] \
--location [Location명] \
--update-pypi-package [Package명] [버전 및 추가 항목]
해당 명령어 실행 시, --update-pypi-package 인수에 기입된 Package가 Environment에 추가됩니다.
[PyPI Package 삭제 명령어]
gcloud composer environments update [Environment명] \
--location [Location명] \
--remove-pypi-packages [Package명]
해당 명령어 실행 시, --remove-pypi-package 인수에 기입된 Package가 Environment에서 삭제됩니다.
다음은 Public Repository에서 Package를 설치하는 방법입니다.
Public IP가 있는 다른 Repository에 호스팅된 Package를 설치할 수 있습니다.
먼저, pip 구성 파일을 생성합니다.
구성 파일의 요소는 다음과 같아야 합니다.
- Repository URL
- Repository에 대한 액세스 사용자 인증 정보
- 기본이 아닌 pip 설치 옵션
그 후, Environment의 Bucket URI를 파악합니다.
파악된 Environment Bucket의 /config/pip/ 폴더에 위에서 생성한 pip 구성 파일을 업로드합니다.
마지막으로, 위에서 기술한 명령어를 이용해 Package를 설치합니다.
추가로 Artifact Registry Repository에서 Package를 설치하는 방법도 알아보겠습니다.
Project의 Artifact Registry Repository에 Package를 저장하고, 이 Repository에서 설치하도록 Environment를 구성할 수가 있습니다.
먼저, pip 구성 파일을 생성합니다.
구성 파일의 요소는 다음과 같아야 합니다.
- Artifact Registry Repository의 URL
- Repository에 대한 액세스 사용자 인증 정보
- 기본이 아닌 pip 설치 옵션
Artifact Registry Repository의 경우 Repository URL에 /simple/을 추가합니다.
아래는 예시 URL입니다.
[global]
extra-index-url = https://us-central1-python.pkg.dev/example-project/example-repository/simple/
파악된 Environment Bucket의 /config/pip/ 폴더에 위에서 생성한 pip 구성 파일을 업로드합니다.
마지막으로, 위에서 기술한 명령어를 이용해 Package를 설치합니다.
오늘은 Composer의 PyPI Package에 대해 간단하게 알아봤습니다.
다들 좋은 하루 보내시구요, 독감 조심하세요.
그럼 베바!