尝试在Python Anywhere上部署本地Django项目,但收到ImportError:运行“python manage.py migration”时,没有名为“environ”的模块

File "/home/Dude1983/surfapp/src/surfapp/settings/development.py",line 1, in <module>
from .base import *             # NOQA
File "/home/Dude1983/surfapp/src/surfapp/settings/base.py", line 45,in <module>
import environ
ImportError: No module named 'environ'

我已经检查了Django版本1.9.5。

我的wsgi.py看起来像这样:
import os
import sys

path = '/home/Dude1983/surfapp/'  # use your own username here
if path not in sys.path:
    sys.path.append(path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'surfapp.settings.production'

from django.core.wsgi import get_wsgi_application
from django.contrib.staticfiles.handlers import StaticFilesHandler
application = StaticFilesHandler(get_wsgi_application())

我使用的是Edge 2入门模板,我的设置位于此处:
surfapp
    │   ├── __init__.py
    │   ├── __pycache__
    │   │   └── __init__.cpython-35.pyc
    │   ├── logger.py
    │   ├── settings
    │   │   ├── __init__.py
    │   │   ├── __pycache__
    │   │   │   ├── __init__.cpython-35.pyc
    │   │   │   ├── base.cpython-35.pyc
    │       │   │   └── development.cpython-35.pyc
    │   │   ├── base.py
    │   │   ├── development.py
    │   │   ├── local.sample.env
    │   │   └── production.py
    │   ├── urls.py
    │   ├── views.py
    │   └── wsgi.py

我遵循了DjangoGirls教程here

谁能帮助我或给我任何指示?

最佳答案

我的猜测是,Edge 2模板具有一些未在默认pythonanywhere系统中安装的依赖项,并且其中之一被称为“环境”。

我建议使用virtualenv,然后执行

pip install -r requirements.txt

(the edge docs有点令人困惑,但他们确实说或至少暗示您应该像这样进行“pip安装”)

以下是有关使用virtualenvs的PythonAnywhere文档:

http://help.pythonanywhere.com/pages/VirtualEnvForNewerDjango

关于deployment - 无法在Python Anywhere上部署Django应用程序: ImportError: No module named 'environ' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36664629/

10-10 15:58