Heroku、Django、工头

Heroku, Django, Foreman

我正在学习本教程:http://tutorial.djangogirls.org/en/domain/README.html

但是当我 运行 foreman start web 如 heroku 文档中所述 https://devcenter.heroku.com/articles/getting-started-with-python#run-the-app-locally 时,我收到此错误:

03:43:05 web.1  | started with pid 47516
03:43:05 web.1  | Traceback (most recent call last):
03:43:05 web.1  |   File "C:\Python34\lib\runpy.py", line 170, in _run_module_as_main
03:43:05 web.1  |     "__main__", mod_spec)
03:43:05 web.1  |   File "C:\Python34\lib\runpy.py", line 85, in _run_code
03:43:05 web.1  |     exec(code, run_globals)
03:43:05 web.1  |   File "c:\Users\shenk\Documents\Programming\django_projects\djangogirls\myvenv\Scripts\gunicorn.exe\_
_main__.py", line 5, in <module>
03:43:05 web.1  |   File "c:\Users\shenk\Documents\Programming\django_projects\djangogirls\myvenv\lib\site-packages\guni
corn\app\wsgiapp.py", line 10, in <module>
03:43:05 web.1  |     from gunicorn.app.base import Application
03:43:05 web.1  |   File "c:\Users\shenk\Documents\Programming\django_projects\djangogirls\myvenv\lib\site-packages\guni
corn\app\base.py", line 12, in <module>
03:43:05 web.1  |     from gunicorn import util
03:43:05 web.1  |   File "c:\Users\shenk\Documents\Programming\django_projects\djangogirls\myvenv\lib\site-packages\guni
corn\util.py", line 9, in <module>
03:43:05 web.1  |     import fcntl
03:43:05 web.1  | ImportError: No module named 'fcntl'
03:43:05 web.1  | exited with code 1
03:43:05 system | sending SIGKILL to all processes

我应该使用工头吗?我读到 gunicorn 是我应该使用的,但我不确定如何使用它。我找不到任何关于如何使用 gunicorn 启动服务器而不是 heroku openpython manage.py runserver

的示例

我听说 gunicorn 在 windows 上不起作用...这是真的吗?我找到了这个答案,但不确定如何实现它。fcntl substitute on Windows

假设我无法实现 fcntl 替代,windows 的解决方案是什么?我想尽可能使用 gunicorn/foreman,因为 运行 服务器仅用于开发。我一直在使用 heroku,但我不确定这是否是正确的方法。从 windows deploy/launch 服务器的正确方法是什么?还是 Linux 是唯一的选择?

Gunicorn 在 windows 上没有 运行,因此您需要在本地为 运行ning 代码创建一个单独的系统。你运行宁是什么框架?

通常你可以使用内置的开发服务器进行本地开发(比如 python manage.py 运行Django 的服务器),并且只在 Heroku 本身上使用 gunicorn