猿问

Gunicorn ModuleNotFoundError

我正在阅读一本关于 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 而不是写完整的 pass 给 gunicorn 我只是去:

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

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


回首忆惘然
浏览 400回答 1
1回答

阿晨1998

您可以在加载应用程序之前为 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 设置文档的链接。希望有帮助和快乐编码!
随时随地看视频慕课网APP

相关分类

Python
我要回答