1

我有我现有的 Django 应用程序在我的 MacBook 上本地运行。它的目录结构看起来像这样:

myproject/
    mySite/
        __init__.py
        settings.py
        urls.py
        wsgi.py
    myApp1/
        __init__.py
        models.py
        views.py
    manage.py
    requirements.txt

到目前为止,我一直在使用 Django 玩具网络服务器来运行我的应用程序:./manage.py runserver 0.0.0.0:8000. 但现在我想用 gunicorn 代替。所以我按照这里的说明进行操作。

我愿意 source myVirtualenv/bin/activate && cd myproject && gunicorn mySite.wsgi。我收到以下错误:

  File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "myproject/MyApp2/models.py", line 11, in <module>
    from caching.base import CachingManager, CachingMixin
ImportError: No module named caching.base

当我./manage.py runserver 0.0.0.0:8000从同一个位置运行时,它工作得非常好。

为什么?难道我做错了什么?Django-Cache-Machine 不能与 Gunicorn/WSGI 一起使用吗?如何解决这个问题?

4

2 回答 2

2

要使用 gunicorn 运行您的项目,请尝试以下操作:

  1. 激活你的虚拟环境
  2. 转到您的项目目录
  3. gunicorn mySite.wsgi:application --bind 127.0.0.1:8000

如果命令工作正常,那么你就设置好了。否则,请尝试以下教程。在为生产设置新项目时,我自己总是使用本教程。试试看。使用 Nginx、Gunicorn 和 Supervisor 设置 Django

于 2016-11-28T06:19:29.760 回答
1

您似乎已经在全局而不是在 virtualenv 中安装了 gunicorn,因此可执行文件指向全局 Python 及其站点包目录,而不是 virtualenv 中的那个。在本地重新安装 gunicorn。

于 2016-11-28T09:21:10.983 回答