Django Deploy使用Heroku - [Errno 2]没有这样的文件或目录

Zac*_*ach 6 python django heroku

我将repo推送到heroku master后,我收到此错误([Errno 2]没有这样的文件或目录).这是我的日志.

2012-04-17T18:24:53+00:00 app[web.1]: python: can't open file '/test/project/manage.py': [Errno 2]     No such file or directory

2012-04-17T18:24:54+00:00 heroku[web.1]: Process exited with status 2

2012-04-17T18:24:54+00:00 heroku[web.1]: State changed from starting to crashed

2012-04-17T18:24:54+00:00 heroku[web.1]: State changed from crashed to created

2012-04-17T18:24:54+00:00 heroku[web.1]: State changed from created to starting

2012-04-17T18:24:57+00:00 heroku[web.1]: Starting process with command python /test/project/manage.py runserver 0.0.0.0:4473 --noreload 2012-04-17T18:24:57+00:00 app[web.1]: python: can't open file '/test/project/manage.py': [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)

我的Procfile如下所示:

web: python /test/project/manage.py runserver 0.0.0.0:$PORT --noreload
Run Code Online (Sandbox Code Playgroud)

我不知道为什么它无法打开文件.当我使用我的开发服务器时,它打开正常.有任何想法吗?谢谢阅读.

Cra*_*ens 11

您在Procfile中的当前设置引用了Heroku上不存在的绝对路径'/test/project/manage.py'.'/ test /是您正在运行的实例的根,并且不正确.您应该首先将其更改为相对路径,这可能是这样的:

web: python project/manage.py runserver 0.0.0.0:$PORT --noreload
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,您可以通过运行来探索项目的位置:

heroku run bash
Run Code Online (Sandbox Code Playgroud)

这应该让你从这里进入'/ app',你可以看到启动你的项目的路径是什么.

由于您的初始推送可能无法启动该过程,因此您可能需要扩展Web流程.然后你可以这样做:

heroku scale web=1
Run Code Online (Sandbox Code Playgroud)