# 모든 환경에 공통적으로 필요한 패키지들 flask==2.0.1 numpy==1.21.0 pandas==1.3.0 # 기타 공통 패키지들... # Windows에서만 설치되는 패키지 pywin32==310; sys_platform == 'win32' # Linux에서만 설치되는 패키지 some-linux-package==1.0; sys_platform == 'linux' # macOS에서만 설치되는 패키지 some-mac-package==1.0; sys_platform == 'darwin'
이 방식을 사용하면:
- sys_platform == 'win32' 조건이 있는 패키지는 Windows 환경에서만 설치됩니다.
- sys_platform == 'linux' 조건이 있는 패키지는 Linux 환경에서만 설치됩니다.
- sys_platform == 'darwin' 조건이 있는 패키지는 macOS 환경에서만 설치됩니다.
따라서 Fly.io의 Linux 환경에서는 pywin32 패키지가 무시되어 설치 오류가 발생하지 않게 됩니다.
이 방법은 requirements.txt 파일을 여러 개로 분리하지 않고도 환경별 의존성을 관리할 수 있게 해줍니다.
_
반응형