为Heroku更正Procfile的目录

时间:2016-03-06 17:32:21

标签: python django heroku

我正在尝试将基本的Python博客/网站迁移到Heroku,以将其部署到互联网上。我部分完成了这个过程,并且无法正确处理Procfile。我按照here for Heroku显示的说明操作。

“Mysite”是我网站的顶级目录。根据指示,我已将virtualenv置于其中。

我不确定Procfile需要去哪里 - 这是我遇到的错误:

C:\Users\andre\mysite>virtualenv venv
Using base prefix 'c:\\users\\andre\\appdata\\local\\programs\\python\\python35-32'
New python executable in venv\Scripts\python.exe
Installing setuptools, pip, wheel...done.

C:\Users\andre\mysite>venv\Scripts\activate
(venv) C:\Users\andre\mysite>pip freeze > requirements.txt
You are using pip version 7.1.2, however version 8.1.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

(venv) C:\Users\andre\mysite>pip install -r requirements.txt
Requirement already satisfied (use --upgrade to upgrade): wheel==0.24.0 in c:\users\andre\mysite\venv\lib\site-packages (from -r requirements.txt (line 1))
You are using pip version 7.1.2, however version 8.1.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

(venv) C:\Users\andre\mysite>heroku local web
ERROR: open Procfile: The system cannot find the file specified.

我尝试将Procfile放在几个不同的地方,但没有任何运气消除错误。

我正在使用的Procfile具有以下内容:

web: gunicorn mysite.wsgi --log-file -

文件目录如下:

andre/
    -Documents/
    -Desktop/
    -AppData/
        -Local/
             -heroku/
    -mysite/
        -blog/
        -mysite/
        -venv/
        -db.sqlite3
        -manage.py
        -Procfile
        -requirements.txt

关于我在这里做错了什么的任何建议?谢谢。

1 个答案:

答案 0 :(得分:3)

将一个目录移至存储库的根目录,然后删除.txt扩展名。来自the documentation

  

Procfile是名为Procfile的文件。它应该完全命名为Procfile,而不是其他任何东西。例如,Procfile.txt无效。该文件应该是一个简单的文本文件。

     

该文件必须放在应用程序的根目录中。如果放在子目录中,它将无法运行。

本文档适用于Heroku支持的所有语言。当文档说明"你的应用程序的根源"它指的是根目录,而不是Django应用程序。