Python 개발 가이드라인

GitLab은 reStructuredText 마크업 렌더링을 위해 Python을 의존성으로 요구합니다.

GitLab 11.10부터 Python 3이 필요합니다.

설치

시스템에 Python을 설치하는 여러 가지 방법이 있습니다. 우리는 프로덕션에서 사용하는 것과 동일한 버전을 사용할 수 있도록, pyenv를 사용하는 것을 권장합니다. 이는 루비 세계의 rbenv와 유사하게 작동하고 동작합니다.

macOS

macOS에서 pyenv를 설치하려면 Homebrew를 사용할 수 있습니다:

brew install pyenv

Windows

pyenv는 공식적으로 Windows를 지원하지 않으며 Windows 하위 시스템 외부에서는 작동하지 않습니다. Windows 사용자는 pyenv-win을 사용할 수 있습니다.

Windows에서 pyenv-win을 설치하려면 다음 PowerShell 명령어를 실행하세요:

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

pyenv-win에 대해 더 알아보기.

Linux

Linux에서 pyenv를 설치하려면 아래 명령어를 실행하세요:

curl "https://pyenv.run" | bash

또는 배포자의 패키지 관리자를 통해 시스템 패키지로서 pyenv를 이용할 수도 있습니다.

더 많은 정보는 여기서 pyenv 선행 조건을 확인할 수 있습니다.

셸 통합

Pyenv 설치는 Bash에 필요한 변경을 추가합니다. 다른 셸을 사용하는 경우 해당 셸에 필요한 추가 단계를 확인하세요.

Fish를 사용하는 경우 Fisher의 플러그인을 설치할 수 있습니다:

fisher add fisherman/pyenv

또는 Oh My Fish의 경우:

omf install pyenv

의존성 관리

GitLab에는 직접적으로 Python 스크립트가 포함되어 있지 않지만, reStructuredText 마크업을 렌더링하기 위해 Python에 의존하므로, 개발용 머신에서 해당 작업을 실행할 수 있도록 주요 프로젝트 수준에서 의존성을 추적해야 합니다.

최근에는 GemfileBundler 프로젝트에 상응하는 것으로 Python에 PipfilePipenv가 소개되었습니다.

의존성이 포함된 Pipfile이 root 폴더에 이미 존재합니다. 이를 설치하려면 다음을 실행하세요:

pipenv install

이 명령은 필요한 Python 버전과 pip 의존성을 모두 설치합니다.

사용 방법

Pipenv 환경에서 어떤 Python 코드든 실행하려면, 먼저 애플리케이션의 의존성에 기반한 virtualenv를 시작해야 합니다. Pipenv를 사용하면 다음을 실행하는 것으로 간단히 실행할 수 있습니다:

pipenv shell

해당 명령을 실행한 후 GitLab을 동일한 셸에서 실행하면, pipenv install 명령으로 설치된 Python과 의존성을 사용합니다.