尝试在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/