ImportError: Не удалось импортировать настройки. Нет модуля с именем oscar. зажигая django-oscar на djangohosting.ch

Не знаю, как продолжить этот проект. Потратил много часов на поиски ответа.

ImportError: Could not import settings 'myproject.settings' (Is it on sys.path?): No module named oscar

Я использую djangohosting.ch Хочу установить django-oscar Я не очень знаком с django

Я хотел создать virtualenv / v / и запустить django-oscar в одном из моих проектов. давайте назовем это myproject

Я начал создавать мой проект с помощью установщика в 1 клик djangohosting.ch, теперь он установлен в / home / myuser / myproject

Я думаю, что я правильно установил virtualenv в dir / v /, и я использовал pip install django-oscar, и я думаю, что все работает очень хорошо. Я вижу кучу каталогов в /v/lib/python2.6/site-packages

Но я не уверен, правильно ли я установил PYTHONPATH. Я настроил файл /myproject/RUN для

PYTHONPATH=/home/myuser/v/lib/python2.6/site-packages:/home/myuser/v/lib/python2.6/site-packages/django:/home/myuser/v/lib/python2.6/site-packages/oscar:/home/myuser/myproject:/home/myuser/myproject/myproject:. python manage.py runserver 127.0.0.1:62202

Я следовал за настройкой settings.py из этого руководства

отредактированный /myproject/myproject/settings.py

И я отредактировал urls.py в соответствии с руководством.

Я отредактировал файл / home / myuser / init / myproject этими строками

PYTHONPATH="$HOME/v/lib"
DAEMON=$HOME/v/bin/python

Не знаю, что я делаю, чтобы быть честным. Я хотел бы понять больше всего этого.

Спасибо за помощь

Вот что я получаю:

michaelh@s10:~$ cd myproject
michaelh@s10:~/myproject$ python manage.py syncdb
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 443, in execute_from_command_line
    utility.execute()
  File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 261, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 69, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "/usr/lib/pymodules/python2.6/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/usr/lib/pymodules/python2.6/django/core/management/commands/syncdb.py", line 8, in <module>
    from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
  File "/usr/lib/pymodules/python2.6/django/core/management/sql.py", line 6, in <module>
    from django.db import models
  File "/usr/lib/pymodules/python2.6/django/db/__init__.py", line 11, in <module>
    if DEFAULT_DB_ALIAS not in settings.DATABASES:
  File "/usr/lib/pymodules/python2.6/django/utils/functional.py", line 184, in inner
    self._setup()
  File "/usr/lib/pymodules/python2.6/django/conf/__init__.py", line 42, in _setup
    self._wrapped = Settings(settings_module)
  File "/usr/lib/pymodules/python2.6/django/conf/__init__.py", line 95, in __init__
    raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'myproject.settings' (Is it on sys.path?): No module named oscar

1 ответ

Я не уверен, как выглядит djangohosting.ch, но если у вас есть настройка wsgi, она должна выглядеть примерно так:

apache2 / conf / httpd.conf Этот файл имеет больше, но обычно имеет большую часть настроек вашего хоста, эти области вам, возможно, придется настроить

WSGIDaemonProcess cpm processes=5 python-path=/home/myuser/myproject/:/home/myuser/myproject/myproject:/home/myuser/v/lib/python2.6/ threads=1

WSGIScriptAlias / /home/myuser/myproject/wsgi.py

wsgi.py

import os
import sys
from django.core.handlers.wsgi import WSGIHandler

sys.stdout = sys.stderr

from site import addsitedir
addsitedir('/home/myuser/v/lib/python2.6/site-packages')

from os.path import abspath, dirname, join
from django.conf import settings

os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
application = WSGIHandler()

Если это не ваша настройка, я бы по крайней мере попытался изменить ваш путь к Python на тот, который у меня есть в файле httpd.conf

Другие вопросы по тегам