2012-12-13 3 views
1

나는 Heroku에서 배포 할 Python 응용 프로그램을 작성하고 있습니다. Heroku's guide 일 때, 패키지 요구 사항을 Pipe requirements.txt 파일에 나열해야합니다. 이 안내서는 패키지를 로컬에 설치하도록 지시 한 다음 pip freeze > requirements.txt을 실행하여 고정 요구 사항 파일을 작성합니다. 그러나로컬에서 만족할 수없는 요구 사항을 고정하는 방법은 무엇입니까?

, 내가 Heroku가 에 배포에 사용할 패키지 중 하나는 로컬 설치할 수 없습니다. 그것은 내 운영 체제와 호환되지 않습니다.

그래서이 패키지를 포함하여 requirements.txt을 어떻게 작성합니까?

제가 생각할 수있는 유일한 방법은 수작업으로 작성하는 것입니다. 그러나 이것은 패키지에 자체의 많은 종속성이 있으므로 지루할 것입니다. 게다가 이것은 패키지 관리자의 요점을 무너 뜨립니다. 루비를 배포하는 Heroku가에 애플 리케이션을 때


는 Bundler를이 쉽게한다. 내 Gemfile에서 나는

gem "pg", :group => :production 
gem "sqlite3", :group => :development 

명령 bundle install 다음 (requirements.txt 유사) 고정 된 버전의 목록 Gemfile.lock을 기입합니다. 패키지는 'production'그룹에 나열되어 있지만 버전 관리 패키지의 일관된 목록은 여전히 ​​고정되어 있습니다.

예 : GemfileGemfile.lock

+0

우분투 또는 데비안 VBox 이미지를 실행하고 원하는 패키지를 모두 설치하기에는 너무 어려울 것이라고 생각하지 않습니다. 그런 다음 가상 env가 requirements.txt를 생성합니다. –

답변

1

당신은 하나 개 이상의 파일을 가지고 있고, 그들에게 다른 일을 부르지 만, Heroku가이 requirements.txt을 기대하지 수 있습니다.

$ pip freeze > dev_requirements.txt 

등 및

$ pip install -r dev_requirements.txt 

을하고 Heroku가 실행됩니다 : 예를 들어, 개발을 위해, 당신은 dev_requirements.txt 로컬

을 유지할 수있는 당신은 실행할 수 있습니다

$ pip install -r requirements.txt 
+0

안녕하세요. 제 질문은 Heroku에'requirements.txt'를 쓰려면 어떻게해야합니까? –

+0

pip freeze> requirements.txt 그런 다음 잘못된 부분을 편집 하시겠습니까? –

관련 문제