Найти - Пользователи
Полная версия: Запуск скрипта. Ошибка с Импотром модуля.
Начало » Django » Запуск скрипта. Ошибка с Импотром модуля.
1
KarDer_Groom
Здравствуйте.
Необходимо на сервере запустить скрипт написанный на Python располагающийся в файле script.py

Запускаю просто идя в папку через PuTYY, и выполняю >python script.py
На что мне выдаёт ошибку: ImportError: No module named <имя моей модели>

До этого писал подобные скрипты и выполнял их подобным образом, всё выполнялось замечательно, аналогично поступаю и на другом сервере.
Пробовал запускать shell и подключать там модель, подключилось сразу, бес проблем. Выполнил запрос через ORM к этой модели, так же всё хорошо.
Мне подсказывали дописать в самом начале файла:
import sys
sys.path.append('путь где лежит скрипт')
Не помогло.
sys.path.append('путь где лежит модель')
Не помогло.
from manage import *
Снова ошибки, только теперь не находило ImportError: No module named django.conf

(Последнее действия выполнял по совету, не осознавая для чего.)
Подскажите пожалуйста в чём может быть проблема, ибо кроме вышеуказанных мер ничего не смог в инэте найти. Локально всё работает.
Александр Кошелев
Что за “модель”? Как выглядит скрипт?
KarDer_Groom
Александр Кошелев
Что за “модель”? Как выглядит скрипт?
Обычная модель таблицы БД
.....
Подключение всяко разного
from django.contrib import admin
from django.conf import settings
from django.db import models
.....

class Post(BaseAbstractModel):

title = models.CharField(_('title'), max_length = 120)
content = models.TextField(verbose_name = _("post content"))
created = models.DateTimeField(_('created'), auto_now_add = True)
....

def __unicode__(self):
return self.title

def get_absolute_url(self):
....
Подключение модели в скрипте:
# -*- coding: utf-8 -*-

import sys
sys.path.append('/home/site/')

from feelgood.modules.blog.models.post import Post
import re

rows = Post.objects.all()
....
Сам скрипт прост, нет смысла приводить. Вынимает все данные, кое что в них ищет и заменяет на нужное, через ORM перезаписывает.
Александр Кошелев
Джанга есть в путях? Окружение Джанги настроено?
KarDer_Groom
Всё заработало, помогли из вне. Проблема была в следующем:
1) Прописать нужно было:
#!/путь_к_питону/bin/python
from manage import *
2) Запускать ./script.py Я же запускал раньше python script.py

Из этого вытекает ещё один вопрос, чем отличаются эти 2 запуска и где, как этим управлять возможно?
py.user.next
была похожая проблема
import sys
sys.path.insert(0, '')
это было просто на питоне 3
выглядело так: при запуске интерпретатора можно было сделать os.chdir('папка'), чтобы можно было сделать import papka_module, который там лежал
но при запуске через python3 main.py это не работало, хотя переход в папку происходил

различия нашёл в sys.path и в скрипте добавил вставку
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB