【发布时间】:2016-03-25 17:55:01
【问题描述】:
不知道出了什么问题。当我在本地机器上运行时使用
python manage.py runserver
一切正常。但是在 Openshift 上运行时,我得到 500 Internal Server Error。
rhc tail -a maid
表演
==> app-root/logs/python.log <==
[Fri Mar 25 17:40:12 2016] [error] [client 127.3.227.129] File "/var/lib/openshift/56f1365889f5cf9b07000054/python/virtenv/lib/python2.7/site-packages/Django-1.9.2-py2.7.egg/django/__init__.py", line 18, in setup
[Fri Mar 25 17:40:12 2016] [error] [client 127.3.227.129] apps.populate(settings.INSTALLED_APPS)
[Fri Mar 25 17:40:12 2016] [error] [client 127.3.227.129] File "/var/lib/openshift/56f1365889f5cf9b07000054/python/virtenv/lib/python2.7/site-packages/Django-1.9.2-py2.7.egg/django/apps/registry.py", line 85, in populate
[Fri Mar 25 17:40:12 2016] [error] [client 127.3.227.129] app_config = AppConfig.create(entry)
[Fri Mar 25 17:40:12 2016] [error] [client 127.3.227.129] File "/var/lib/openshift/56f1365889f5cf9b07000054/python/virtenv/lib/python2.7/site-packages/Django-1.9.2-py2.7.egg/django/apps/config.py", line 116, in create
[Fri Mar 25 17:40:12 2016] [error] [client 127.3.227.129] mod = import_module(mod_path)
[Fri Mar 25 17:40:12 2016] [error] [client 127.3.227.129] File "/opt/rh/python27/root/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
[Fri Mar 25 17:40:12 2016] [error] [client 127.3.227.129] __import__(name)
[Fri Mar 25 17:40:12 2016] [error] [client 127.3.227.129] ImportError: No module named mblog.apps
82.28.196.48 - - [25/Mar/2016:13:40:11 -0400] "GET / HTTP/1.1" 500 617 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/601.4.4 (KHTML, like Gecko) Version/9.0.3 Safari/601.4.4"
我已经有 mblog/init.py 定义为
default_app_config = 'mblog.apps.MblogConfig'
apps.py 为
from __future__ import unicode_literals
from django.apps import AppConfig
class MblogConfig(AppConfig):
name = 'mblog'
def ready(self):
from .defaults import *
wsgi/application 有如下设置:
sys.path.append(os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'wsgi', 'MaidProject', 'mblog'))
os.environ['DJANGO_SETTINGS_MODULE'] = 'MaidProject.lineblog.settings'
文件结构为:
MaidProject
- __init__.py
- lineblog
- __init__.py
- settings.py
- urls.py
- wsgi.py
- manage.py
- mblog
- __init__.py
- admin.py
- apps.py
- default.py
- ...
- locale (dir)
- templates (dir)
当我推送以前的 Django 1.6 但现在使用新应用程序的东西在 Django 1.9 上工作时,我没有遇到这个问题。尝试几件事,却一无所获。任何指针都非常感谢。错误出现在 Openshift 上,但在本地机器上运行时,没有问题。我一定在某处做错了什么,但现在花了几天时间,仍然没有得到任何结果。真的很沮丧。 提前致谢。
【问题讨论】:
-
尝试将 PYTHONPATH 环境变量设置为包含“MaidProject”,看看是否可行。
标签: django openshift importerror