Sergei_Erjemin
@Sergei_Erjemin
Улыбайся, будь самураем...

Как заставить Django работать, если он не может «разрешить» fixture для sqlite3?

При запуске проекта выдается ошибка:

CommandError: No database fixture specified. Please provide the path of at least one fixture in the command line.

Собственно проект отлично работает под UBUNTU, но при запуске под WINDOWS 8 вот так ругается. При этом в самом коде ничего не менялось (под UBUNTU продолжает работать, не смотря на то, что строка указывающая на путь до SQLITE-базы указана как для windows):

DATABASES = {
  'default': {
   'ENGINE': 'django.db.backends.sqlite3',
   'NAME': 'C:\Users\Sergei\My Programm\django\prj16\db.sqlite', 
    }
}

Дело в том, что никаких обращений к базе проект не использует.

По идее SQLITE3 должен работать из коробки, но паранойя подвигла проверить библиотеки окружения. Ведь для разных систем они разные. Так и оказалось, но установить в Windows аналогичные библиотеки окружения Ubuntu не всегда получается. При установке PIP-ом для части библиотек выдается:

Could not find any downloads that satisfy the requirement __имя_библиотеки__
Some externally hosted failes were ignored (use --allow-external __имя_библиотеки__ to allow)

Еще замечание: раньше и под Windows и под UBUNTU все работало одинаково. Проблема возникла неожиданно (возможно после неосторожного обновления DJANGО)

СИСТЕМА:
WINDOWS 8 (64 bit)
Среда разработки PYCHARM (установки проблемных библиотек через него тоже не проходят).

Были подозрения, что проблема в 64-битной системе. Поставил Python для x86. При запуске в нем тоже выдает аналогичные ошибки.

P.S. На stackowerflow подобный вопрос поднимался:
stackoverflow.com/questions/10565254/django-1-4-sa...
там тоже проблемы случились при обновлении DJANGO. Путных ответов там нет и проблема так и не была решена. :(

UDP: Сделал даунгрейд DJANGO. Проблема не исчезла.
  • Вопрос задан
  • 5279 просмотров
Решения вопроса 1
sim3x
@sim3x
from os import path, getenv
#....
# base dir отличается от дефолтного принятого в 1.6 
# возможно понадобиться поправить пути в других местах
BASE_DIR = path.abspath(path.join(path.dirname(__file__), '../..'))
#....
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': path.join(BASE_DIR, 'db.sqlite3'),
    }
}


опять же непонятно, нафиг кодить в убогой ос
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@gimntut
В строке
'NAME': 'C:\Users\Sergei\My Programm\django\prj16\db.sqlite',

точно есть ошибка. Правильно было бы так:
'NAME': r'C:\Users\Sergei\My Programm\django\prj16\db.sqlite',
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы