Nicht sicher, was schief gelaufen ist. Wenn ich auf lokaler Maschine mitDjango ImportError: Nein Module namens apps beim Ausführen von Openshift
laufen alle sind ok. Aber wenn ich auf OpenShift lief, bekam ich 500 Internal Server Error.
rhc tail -a maid
zeigt
==> 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"
ich bereits mblog/init Py definiert als
default_app_config = 'mblog.apps.MblogConfig'
und apps.py als
from __future__ import unicode_literals
from django.apps import AppConfig
class MblogConfig(AppConfig):
name = 'mblog'
def ready(self):
from .defaults import *
wsgi/Anwendung haben müssen folgende Einstellung:
sys.path.append(os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'wsgi', 'MaidProject', 'mblog'))
os.environ['DJANGO_SETTINGS_MODULE'] = 'MaidProject.lineblog.settings'
Die Dateistruktur ist:
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)
ich dieses Problem nicht, wenn ich meine frühere Django 1.6, aber jetzt arbeite an Django 1.9 mit den neuen Apps Sachen drücken. Probier ein paar Dinge aus und komm nirgendwo hin. Jeder Zeiger wird sehr geschätzt. Der Fehler ist bei OpenShift, aber wenn auf dem lokalen Computer ausgeführt wird, gibt es kein Problem. Ich muss irgendwo etwas falsch gemacht haben, aber jetzt habe ich ein paar Tage damit verbracht und komme immer noch nirgends hin. Wirklich frustriert. Vielen Dank im Voraus.
Versuchen Sie, PYTHONPATH Umgebungsvariable umfassen ‚MaidProject‘ und sehen, ob das funktioniert. –