【问题标题】:ModuleNotFoundError: No module named 'fcntl' when I try to deploy my django project on herokuModuleNotFoundError:当我尝试在heroku上部署我的django项目时没有名为'fcntl'的模块
【发布时间】:2020-09-08 15:30:43
【问题描述】:

我尝试在 heroku 上部署我的 django 项目,然后按照以下命令进行操作

heroku login
git init
git add .
git commit -m "first commit"
heroku create
heroku git:remote -a name
pip install gunicorn
gunicorn application.wsgi

当涉及到最新的命令时,会出现错误: ModuleNotFoundError: 没有名为“fcntl”的模块

我该如何解决?

【问题讨论】:

    标签: python django heroku


    【解决方案1】:

    底层操作系统是Windows吗? fcntl 在 Windows 系统上不可用,Gunicorn 在 Windows 上不可用

    使用 Waitress 在 Windows 上运行 WSGI Web 应用程序(如 Django)

    基本上你所要做的就是将 gunicorn 调用替换为:

    waitress-serve --listen=*:8000 myapp.wsgi:application
    

    对于典型的应用程序,这将为您提供与运行 gunicorn 相同的结果。 :) 祝你好运!

    【讨论】:

    • 我明白了。我使用的是 Windows 10。但是解决这个问题的替代方法是什么?
    • 您可以从 Gunicorn 切换到 Waitress,这是一个非常好的选择。通过步骤更新我的答案
    • 对不起,我还是个初学者,我不知道 Gunicorn 和 Waitress。你能为初学者推荐一些将 django 部署到 heroku 的指南或资源吗?
    • 请检查我提供的答案中的链接。您可以按照上述链接中的指南进行操作
    猜你喜欢
    • 2021-03-26
    • 2021-07-18
    • 2021-09-08
    • 2021-08-04
    • 1970-01-01
    • 2021-03-07
    • 2021-01-31
    • 2020-10-28
    • 2021-06-07
    相关资源
    最近更新 更多