Django uwsgi 导入错误

标签 django import nginx virtualenv uwsgi

我有一个 Django 项目,其中有一个名为 subscribe 的应用程序.在根 urls.py我使用包含来自 subscribeurls.py .

我把到 INSTALLED_APPS subscribe并在 subscribeurls.py我用 subscribe.views.<name>呼吁我的意见。当服务器作为 python manage.py runserver 运行时本地一切正常。但是当服务器在带有 virtualenv 的 nginx+uwsgi 上运行时,我得到了 ImportError: No module named subscribe .
当我改变 subscribeproject.subscribeINSTALLED_APPS并在 subscribeurls.py改变 subscribe.views.<name>project.subscribe.views.<name>一切正常。

uwsgi 配置:

[uwsgi] 
socket = 127.0.0.1:9003 
workers = 2 
master = true 
virtualenv = /home/user/python 
chdir = /home/user 
env = DJANGO_SETTINGS_MODULE=project.settings 
module = django.core.handlers.wsgi:WSGIHandler()
daemonize = /home/user/uwsgi.log

为什么我应该使用绝对路径导入以及如何使用 virtualenv 在 nginx+uwsgi 上将其更改为相对路径?

最佳答案

你的 uwsgi 配置应该包括 pythonpath=/path/where/lives/settings.py/指令,因此python解释器将知道在哪里可以找到您的应用程序。

查找有关 uwsgi 配置选项的更多信息:

  • http://projects.unbit.it/uwsgi/wiki/Doc
  • http://projects.unbit.it/uwsgi/wiki/Example
  • 关于Django uwsgi 导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8241680/

    相关文章:

    django - 如何要求 Django 多关系管理器同时匹配多个关系?

    python - Angular 代码与我的 python django 应用程序配合不佳

    objective-c - iOS:当我将 AppDelegate.h 包含到另一个头文件中时,什么会导致 Xcode 编译器抛出错误?

    Python,如何导入 .py 文件

    ssl - Nginx SSL 在单个子域而不是多个子域上

    php - Docker Swarm 在 Nginx 中获取真实 IP(客户端主机)

    django - 在 Django 中翻译格式化字符串不起作用

    python - 在 C++ 中调用 Python

    javascript - 本地和生产环境中 Node 的行为

    python - Django - 将代表用户的外键添加到模型中