2017-11-12 17 views
0

나는이 Pipfile을 가진 매우 간단한 Flask Python 앱을 가지고 있습니다. Pipfile에는 "psycopg2" = "*"이 포함됩니다. 응용 프로그램은 로컬에서 시작될 때 PostgreSQL 데이터베이스에 연결할 수 있습니다. 그러나 그것은 Heroku에서 실패합니다. 어떤 이유로 든 Heroku가 psycopg2을 설치하지 않는 것 같습니다. 나는 Heroku 배치 here에서 통나무를 간청했다.Heroku는 Pipfile에서 psycopg2를 설치하지 않습니다.

누구보다 먼저 알 수 있습니까? 요구 사항 파일로 다시 전환해야합니까? 또한, dev 종속성이있을 때 yapf이 설치된 이유는 무엇입니까?

+0

'Pipfile.lock'을'pipenv lock'으로 업데이트하고, 그 변경을 저지르고, 그것을 Heroku에 넣었습니까? – Chris

+0

예. 나는 심지어 lockfile없이 노력했다. 'Pipfile.lock'은'psycopg2'를 올바른 버전으로 언급합니다. – Karsten

+0

나는 앱의 Heroku 캐시를 지워 버렸습니다. – Karsten

답변

1

사용자의 Heroku 빌드 출력은 requirements.txt에서 설치 요구 사항을 나타내며 Pipfile 또는 Pipfile.lock을 언급하지 않습니다. Heroku의 설명서에서 명확하지 않지만, requirements.txt이 둘 다있는 경우 Pipfile/Pipfile.lock보다 우선합니다.

requirements.txt 파일을 삭제하고 변경 사항을 반영한 다음 예를 들어 Heroku로 되돌립니다. yapf 설치하는 이유

git rm requirements.txt 
git commit -m "Remove obsolete requirements.txt" 
git push heroku 

참고이 또한 설명하는 것이 : 그것은 your requirements.txt file에 있습니다.

+0

오 마이. 그게 전부 야. 분명히 너무 늦었고 너무 피곤해. 엄청 고마워! – Karsten