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