Python 함수 로컬 개발
Python 함수 저장소를 로컬 IDE에서 편집할 수 있습니다. 아티팩트 게시와 Foundry의 검사 및 빌드는 변경을 저장소로 push한 뒤 실행합니다.
저장소 복제
Code Repositories 메뉴의 Work locally를 열고 표시된 저장소 URL을 복사합니다.
아래 Bash 명령은 REPOSITORY_URL에 복사한 URL, LOCAL_REPOSITORY_DIR에 새 로컬 디렉터리를 미리 설정한 상태에서 실행합니다. 복제에 실패하면 다른 위치에서 후속 작업을 하지 않도록 이동을 연결합니다.
: "${REPOSITORY_URL:?Work locally의 저장소 URL이 필요합니다}"
: "${LOCAL_REPOSITORY_DIR:?새 로컬 저장소 디렉터리가 필요합니다}"
git clone "$REPOSITORY_URL" "$LOCAL_REPOSITORY_DIR" && cd "$LOCAL_REPOSITORY_DIR"
복제에 제공된 토큰은 짧게 유효하며 해당 저장소에 push하는 예외를 제외하면 읽기 전용입니다. 토큰을 코드나 설정 파일에 커밋하지 않습니다.
환경 조건
- Java 21을 설치하고 JAVA_HOME을 해당 설치 경로로 설정합니다.
- 저장소를 최신 템플릿으로 업그레이드합니다.
- CI, JEMMA와 CA 환경 변수가 설정되지 않아야 합니다.
- Apple silicon Mac은 Rosetta 2가 필요합니다. 설치하지 않았다면 macOS의 Rosetta 설치 절차에 따라 사용 조건을 확인하고 설치합니다.
Linux 또는 macOS의 Bash에서 JDK21_HOME에 실제 설치 경로를 미리 넣은 뒤 현재 세션을 설정할 수 있습니다.
: "${JDK21_HOME:?설치한 Java 21의 홈 경로가 필요합니다}"
export JAVA_HOME="$JDK21_HOME"
unset CI JEMMA CA
Windows PowerShell에서는 실제 경로를 입력받아 현재 프로세스에 설정합니다.
$env:JAVA_HOME = Read-Host "설치한 Java 21의 홈 경로"
Remove-Item Env:CI, Env:JEMMA, Env:CA -ErrorAction SilentlyContinue
영구 시스템 설정은 JAVA_HOME을 먼저 설정한 관리 권한 PowerShell에서 setx JAVA_HOME "$env:JAVA_HOME" /M 또는 Machine 범위의 환경 설정을 사용하며 새 셸을 열어야 반영됩니다. 현재 셸 설정과 시스템 전체 설정은 범위가 다릅니다.
템플릿 오류
Gradle 실행 중 다음과 같은 condaPackRun 오류가 나오면 오래된 템플릿의 문제입니다.
A problem occurred evaluating project ':transforms-python'.
> Failed to apply plugin class 'com.palantir.transforms.lang.python.gradle.ModelTrainingPlugin'.
> Could not create task ':transforms-python:createCondaPackLayer'.
> Task with name 'condaPackRun' not found in project ':transforms-python'.
저장소의 수동 브랜치 업그레이드 절차로 템플릿을 최신으로 올린 뒤 환경 생성을 다시 수행합니다.
Visual Studio Code
VS Code와 Microsoft Python 확장을 설치합니다. 로컬 저장소 루트에서 다음 명령으로 Python 인터프리터 설정 파일을 생성합니다.
./gradlew vsCode
Windows PowerShell에서는 저장소의 gradlew.bat를 사용하여 .\gradlew.bat vsCode를 실행합니다.
PyCharm
먼저 저장소 루트에서 개발용 Conda 환경을 준비합니다.
./gradlew condaDevelop
Windows는 .\gradlew.bat condaDevelop를 사용합니다. PyCharm에서 프로젝트를 연 뒤 상태 표시줄의 Python Interpreter > Add New Interpreter를 선택합니다.
Add Python Interpreter에서 Virtualenv Environment를 선택하고 Existing environment의 Interpreter에 만들어진 Conda 환경의 실행 파일을 지정합니다.
Unix 계열 실행 파일은 환경 디렉터리의 bin/python, Windows는 python.exe입니다. 테스트 플러그인 설정에 따라 저장소 아래에 다음 환경 중 하나 또는 둘 다 생깁니다.
- python-functions/build/conda/run-env
- python-functions/build/conda/test-env
로컬 테스트를 준비한다면 test-env를 선택하고 OK로 확정합니다. 적용 대기 쓰기의 함수 미리보기는 별도의 지원 범위를 따르며 로컬 개발 환경에서 지원하지 않습니다.