2012-05-10 4 views
4

Heroku에서 테스트 장고 프로젝트를 설정하려고합니다. hereHeroku Getting Started에서 Django dev 서버 대신 gunicorn을 사용하려고합니다. Heroku에서 Django 용 gunicorn 구성

web: gunicorn_django --workers=4 --bind=0.0.0.0:$PORT my_project/settings.py 
worker: python my_project/manage.py celeryd -E -B --loglevel=INFO 

나에게이 오류 준 :

ImportError: Could not import settings 'settings.py' (Is it on sys.path?): No module named py 

나는 다른 트랙을하기로 결정을하고 조언 here을 따라

는 Procfile에서 첫 시도였다. 이제 내 Procfile이처럼 보였다 :

(나는 또한 gevent을 포함하는 내 요구 사항 파일을 업데이트했습니다.) 그것은 나에게 같은 오류 준 : 마지막으로, 난 그냥 settings로 설정

ImportError: Could not import settings 

:

web: gunicorn_django -b 0.0.0.0:\$PORT -w 9 -k gevent --max-requests 250 --preload settings 

하지만 지금은이 오류를 얻을 :

Error: django project not found 
,691을

내 Django 프로젝트 설정 방법은 settings.py 파일이 repo의 상위 디렉토리에 있다는 것입니다. 다른 디렉토리 아래 장고 프로젝트가 없습니다. virtualenv 및 git 파일과 동일한 수준입니다. 그게 문제가 되겠습니까? 나는 분명히 잘못된 것을하고 있다고 확신한다 - 어떤 도움이라도 대단히 감사 할 것이다.


나는 Heroku가 here의 지침에 따라이에 Procfile을 변경하는 경우 :

web: gunicorn hellodjango.wsgi -b 0.0.0.0:$PORT 

아무런 변화가 없다 - 로그에 오류가 있지만 proceses은 실행되지 앱은 죽은 나타납니다 물.

+0

Django의 Heroku 빠른 시작 기사를 보셨습니까? 그것은 gunicorn에 대한 자세한 지침이 포함되어 있습니다. https://devcenter.heroku.com/articles/django –

+0

예, 있습니다. 세부 사항을 추가하겠습니다. 짧은 대답 - 나는 그 지시를 따를 때 아무 일도 일어나지 않습니다. 앱은 결코 시작되지 않습니다. – tchaymore

+1

임이 같은 문제가 발생하면 기본적으로이 단계를 모두 거쳐야합니다. – Kin

답변

13

나는이 동일한 문제에 봉착했습니다. 당신은 Heroku가 가이드에서 복사 한 procfile에서

맹목적으로 복사 - 붙여 넣기를하는 지금 우리처럼 모든 가을 피해자를 보이는,하지만 (내) 방어, 보이는에서 더 *의 .wsgi 없다처럼 hellodjango.wsgiyourproject.wsgi에 변경 실제로 열리고있는 파일인데, 그것은 단지 gungorn에게 당신이 장고 프로젝트를 실행하기를 원한다는 신호 일뿐입니다.

+11

실제로 파이썬 모듈'yourproject/wsgi.py'를 지정하고 있습니다. –

0

루트 폴더 (django 포함)에 requirements.txtsettings.py이 있습니까? 이들은 here과 같이 Django 앱 탐지를위한 요구 사항으로 보입니다.

4

나는 똑같은 문제를 겪었습니다. 내가 마침내 그것을 작동시킬 수 있었던 방법은 장고 애플 리케이션 gunicorn을 사용하는 것이었다.

나는 그때 내 Procfile 내 웹 항목으로이 사용

'gunicorn', 

settings.py 장고에 gunicorn을 추가했다.

web: python manage.py run_gunicorn -b 0.0.0.0:\$PORT -w 9 -k gevent --max-requests 250 --preload 

다른 디렉토리 구조를 사용했다면 .manage.py를 변경해야 할 수도 있습니다. 내 응용 프로그램은/app에 있었고 python 경로는/app였습니다.

2

나는이 문제를 가지고 있으며 파이썬 경로를 직접 가리켜 야하고 설정을 reference으로 설정해야합니다.

는 결국 내 Procfile은 다음과 같습니다

web: gunicorn_django --pythonpath=/app/project --settings=settings 

나는 ENV 변수를 보여 heroku run을 실행했고, 나는 내 프로젝트의 이름 앞에 붙은 /app을 찾을 수 있었던 곳이다.

관련 문제