본문 바로가기
개발 관련 개념들

Python 프로젝트 Heroku deploy 시 Determining which buildpack to use for this appremote: ! No default language could be detected for this app에

by 코곰 2021. 6. 7.

python + django 프로젝트를 Heroku에 deploy하려는 데 계속

 

No default language could be detected for this app

에러가 났다...!

이 때의 해결 방법은

 

1. 루트 폴더에 requirements.txt가 있는 지 확인. 없으면

$ pip freeze > requirements.txt

로 생성.

 

2. 루트 폴더에 runtime.txt가 있는 지 확인. 없으면 만들고, 안에는

python-3.8.10

과 같이 나의 python 버전을 써준다. 나의 python 버전이 궁금하면

$ ##_env/Scripts/activate
(윈도우 기준, 가상 환경 실행)
>>> python --version

하면 확인할 수 있다.

 

하지만!!!

나의 경우 몇 번을 확인해도 이 파일들은 잘 마련되어 있었고,

같은 에러가 계속 나왔다.

 

3. 직접 buildpack을 설정해준다.

(1) heroku 홈페이지에 들어가서, 나의 앱 - Settings에서

    직접 heroku/python으로 설정

(2) CLI에서 직접 설정

$ heroku buildpacks:set heroku/python

 

그런데 이러니까!!!

 

App not compatible with buildpack

이런 에러가 나왔다!!!! 

 

결론은...

에러 메세지를 제대로 읽어보는 데에 있었다.

 

나는 이미 깃헙 안의 레포에 코드를 push 하고 있었는데,

에러 메세지를 보니

현재 어떠한 branch에서 작업 중이고 git을 통해 배포한다면

(If you are developing on a branch and deploying via git you must run: )

 

git push heroku <branchname>:main

 

으로 배포하라고 나왔다!

 

그래서 현재 작업하고 있는 브랜치 이름을 참조해

 

git push heroku main:main 

 

으로 작업해주니 배포가 되었다...

 

heroku ps
heroku open

으로 배포가 제대로 된 것도 확인!!

 

 

 

 

 

오늘의 LESSON!

> 에러 메세지를 잘 살펴보면 자다가도 떡이 나온다.

댓글