Gunicorn ModuleNotFoundError

时间:2018-10-17 09:43:34

标签: python django gunicorn

我正在读一本有关TDD和Django的书,其中有一个部署部分。我在尝试使用以下命令运行gunicorn时遇到问题:

/root/sites/django_blog/virtualenv/bin/gunicorn --bind unix:/tmp/django_blog.socket django_blog.wsgi:application

它失败并出现以下错误:

ModuleNotFoundError: No module named 'django_blog'

但是当我激活我的virtualenv而不是将完整的通行证写给gunicorn时,我就选择了:

gunicorn --bind unix:/tmp/django_blog.socket django_blog.wsgi:application

一切正常!问题是我仍然需要以第一方式运行它,因为我将在nginx服务文件中使用它。我写了这个错误,并尝试了几种解决方案,但它们对我不起作用。我想我必须对环境变量做些什么,但我不知道到底是什么。

1 个答案:

答案 0 :(得分:1)

您可以在加载应用程序之前为gunicorn指定目录以切换到该目录

只需将--chdir /path/to/directory添加到启动中。

在您的情况下,可能如下所示:

/root/sites/django_blog/virtualenv/bin/gunicorn --chdir /root/sites/django_blog/source --bind unix:/tmp/django_blog.socket django_blog.wsgi:application

这是特定Gunicorn设置文档的link

希望能帮助您编写愉快的代码!