5B. [Code Repositories] 코드 리포지토리에서 공유 라이브러리 게시 및 사용2 - Foundry가 어떻게 패키지를 사용할 수 있게 하는가?

본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

2 - Foundry가 어떻게 패키지를 사용할 수 있게 하는가?

이 내용은 learn.palantir.com ↗에서도 확인할 수 있으며, 접근성을 위해 여기에 제시됩니다.

📖 작업 소개

지금까지는 우리가 코드 기반 데이터 변환에서 사용할 수 있는 Python 라이브러리를 단순히 가져올 수 있다는 것을 당연시하고 있었습니다. 예를 들어, passengers_raw.py에서 shutil 패키지를 가져왔습니다.

Foundry가 Python 저장소 환경을 어떻게 구성하고 이러한 패키지를 사용할 수 있게 하는지에 대한 리뷰부터 시작해봅시다. 그리고 이어서 사용 가능한 패키지를 확인하는 간단한 연습을 해보겠습니다. 아래에 제시된 읽기 자료에서 볼 수 있듯이, Foundry Artifacts 엔드포인트에 대한 cURL 명령을 사용하여 모든 직접 및 전이적으로 사용 가능한 Python 패키지의 목록을 확인할 수 있습니다. 작업은 Code Repositories UI에서 패키지 이름으로 검색하는 방법을 안내할 것입니다.

📚 추천 읽기 자료 (~10분 소요)

다음 읽기 자료는 패키지가 환경에서 어떻게 사용 가능해지는지 이해하는데 중요합니다. 계속하기 전에 읽어보세요.

🔨 작업 지침

  1. Datasource Project: Passengers 폴더에서 passengers_logic 저장소를 엽니다.
  2. Master에서 yourName/feature/tutorial_using_libraries라는 이름의 새 브랜치를 만듭니다 (예, jmeier/feature/tutorial_using_libraries).
  3. passenger_flight_alerts_preprocessed.py 변환 파일을 엽니다.
  4. Theano ↗ 패키지를 사용하려고 한다고 가정해봅시다. 3행에 다음 문장을 추가합니다: import theano.
  5. Code Assist가 실행되고 있다면, 문법이 빨간색으로 밑줄 친 것을 볼 수 있습니다. 밑줄 친 텍스트 위에 마우스를 올리면 ModuleNotFoundError가 나타나, Theano가 저장소에 설치되어 있지 않음을 나타냅니다.
  6. 저장소의 가장 왼쪽에서, 브랜치 이름 바로 아래에 있는 "Libraries" 아이콘을 클릭합니다.
  7. Libraries 검색 필드에 "Theano"라고 입력합니다.
  8. Theano는 Conda 라이브러리를 통해 사용할 수 있으므로(위의 추천 읽기 참조) 저장소에 가져올 수 있습니다. 검색 결과에서 "theano"를 클릭한 다음, 오른쪽의 파란색 Add Library 버튼을 클릭합니다.
  9. 팝업 창이 나타나 확인을 요구하면, 한 번 더 Add Library를 클릭합니다.
  10. passenger_flight_alerts_preprocessed.py 파일로 돌아가서 빨간색 밑줄이 사라졌음을 확인합니다(이제 라이브러리가 가져와졌지만 참조되지 않았다는 것을 알려주는 녹색 밑줄이 있습니다 — 훨씬 더 관리하기 쉬운 문제입니다).
  11. 추천 Foundry Python 패키지 관련 문서 소개에서 언급했듯이, 저장소의 meta.yml 파일은 환경을 위한 Conda 레시피 ↗를 빌드하는 메타데이터 파일입니다.
  12. 애플리케이션의 왼쪽에 있는 Files 패널로 돌아가서 /transforms-python/conda_recipe/meta.yml을 엽니다. 이제 theano 패키지가 파일 하단 근처의 run 섹션에 나타납니다.
  13. Libraries 패널을 열어 theano를 선택하고 Library Added 지시자 옆의 아이콘을 클릭하여 저장소에서 theano를 제거합니다.

라이브러리를 추가하면 코드 옵션이 더 많아지지만, CI 체크 과정에 추가적인 오버헤드가 발생합니다. 패키지 사용을 신중히 하고, pandasnumpy와 같은 인기 있는 패키지는 이미 저장소의 Python 라이브러리를 통해 설치되어 있다는 것을 알아두세요.