2017-10-08 22 views
0

正在苦苦尋找用於heroku工作的procfile。試圖學習如何讓一個基本的Django網站啓動並運行,並從頭開始構建一些東西。我用我的電腦上的窗戶來修補所有使用服務員的決定,但也許gunicorn會更容易?Heroku的Procfile無法正常工作 - 使用女服務員的Django

如果我不能解決這個問題,我只會使用一個來自heroku的模板,並從中構建,但我寧願不要擺脫迄今爲止所做的工作。

這是我的目錄結構。

Root +--- 
    .git 
    Include 
    Lib 
    Scripts 
    Scripts 
    Static 
    tcl 
    src +--- 
     � db.sqlite3 
     � manage.py 
     � 
     +---alex1 
     � � forms.py 
     � � settings.py 
     � � urls.py 
     � � wsgi.py 
     � � __init__.py 
     � � 
     � +---__pycache__ 
     �   settings.cpython-36.pyc 
     �   urls.cpython-36.pyc 
     �   wsgi.cpython-36.pyc 
     �   __init__.cpython-36.pyc 
     � 
     +---profiles 
      � admin.py 
      � apps.py 
      � forms.py 
      � models.py 
      � tests.py 
      � views.py 
      � __init__.py 
      � 
      +---migrations 
      � � 0001_initial.py 
      � � 0002_profile_description.py 
      � � 0003_auto_20170905_1654.py 
      � � 0004_auto_20170905_1659.py 
      � � __init__.py 
      � � 
      � +---__pycache__ 
      �   0001_initial.cpython-36.pyc 
      �   0002_profile_description.cpython-36.pyc 
      �   0003_auto_20170905_1654.cpython-36.pyc 
      �   0004_auto_20170905_1659.cpython-36.pyc 
      �   __init__.cpython-36.pyc 
      � 
      +---templates 
      �  base.html 
      �  contact.html 
      � 
      +---__pycache__ 
        admin.cpython-36.pyc 
        forms.cpython-36.pyc 
        models.cpython-36.pyc 
        views.cpython-36.pyc 
        __init__.cpython-36.pyc 

我收到的錯誤是這樣

2017-10-08T09:33:38.547463+00:00 app[web.1]: There was an exception (ModuleNotFoundError) importing your module. 
2017-10-08T09:33:38.547464+00:00 app[web.1]: It had these arguments: 
2017-10-08T09:33:38.547464+00:00 app[web.1]: 1. No module named 'profiles' 

這是我procfile。

web: waitress-serve --port=$PORT profiles.wsgi:application 

謝謝大家 - 很欣賞你的幫助

回答

1

首先,你wsgi.py文件不在裏面的src /型材裏面的src/alex1。此外,女服務員沒有找到您的應用配置文件因爲不在python路徑中。我不知道是否女服務員有一個參數添加的東西到PYTHONPATH(如gunicorn --pythonpath),但無論如何,你可以做這樣的事情:

web: PYTHONPATH=$(pwd)'/src' waitress-serve --port=$PORT alex1.wsgi:application 

我和服務員工作,我可以沒有看到使用它而不是gunicorn的改進。有人說這是更高性能的,但根據我的經驗,使用起來更麻煩。

+0

這解決了我的問題!謝謝。如果我使用gunicorn,考慮到我正在從Windows開發,會不會很好?歡呼 –

+0

哎呀!沒錯,你不能使用gunicorn ......你的選擇是女服務員(這已經工作,所以我會保留它)或在Heroku中使用gunicorn和本地開發使用manage.py runserver –

+1

好吧,所以我可以使用gunicorn,因爲我沒有在本地使用它?謝了哥們 –