Я пытаюсь создать сценарий, который заполнит мою модель families
информацией, извлеченной из текстового файла. Это мой первый пост в StackOverflow
, пожалуйста, будьте осторожны, извините, если вопрос не слишком хорошо выражен или неправильно отформатирован.Django-extension runningcript Нет (действительный) модуль для скрипта
Джанго V 1.9 и работает на Python 3,5
Django-расширения установлены
Это моя модель: это в приложение под названиемbrowse
from django.db import models
from django_extensions.db.models import TimeStampedModel
class families(TimeStampedModel):
rfam_acc = models.CharField(max_length=7)
rfam_id = models.CharField(max_length=40)
description = models.CharField(max_length=75)
author = models.CharField(max_length=50)
comment = models.CharField(max_length=500)
rfam_URL = models.URLField()
Вот у меня есть мой сценарий familiespopulate.py
. Позиционируется в каталоге PROJECT_ROOT/scripts
.
import csv
from browse.models import families
file_path = "/Users/work/Desktop/StructuRNA/website/scripts/RFAMfamily12.1.txt"
def run(file_path):
listoflists = list(csv.reader(open(file_path, 'rb'), delimiter='\t'))
for row in listoflists:
families.objects.create(
rfam_acc=row[0],
rfam_id=row[1],
description=row[3],
author=row[4],
comment=row[9],
)
Когда из терминала я бегу:
python manage.py runscript familiespopulate
возвращается:
No (valid) module for script 'familiespopulate' found
Try running with a higher verbosity level like: -v2 or -v3
Проблема должна быть в импорте модели families
, я новичок в django
, и я не могу найти любое решение здесь на StackOverflow
или в другом месте в Интернете. Вот почему я прошу вашей помощи!
Знаете ли вы, как следует импортировать модель? Или ... Я делаю что-то еще неправильно.
Важная информация заключается в том, что скрипт выполняется, если я изменяю его, чтобы ПЕЧАТЬ параметры, вместо создания объекта в семействах.
Для информации и любопытства Я также опубликую здесь экстракт текстового файла, который я использую.
RF00001 5S_rRNA 1302 5S ribosomal RNA Griffiths-Jones SR, Mifsud W, Gardner PP Szymanski et al, 5S ribosomal database, PMID:11752286 38.00 38.00 37.90 5S ribosomal RNA (5S rRNA) is a component of the large ribosomal subunit in both prokaryotes and eukaryotes. In eukaryotes, it is synthesised by RNA polymerase III (the other eukaryotic rRNAs are cleaved from a 45S precursor synthesised by RNA polymerase I). In Xenopus oocytes, it has been shown that fingers 4-7 of the nine-zinc finger transcription factor TFIIIA can bind to the central region of 5S RNA. Thus, in addition to positively regulating 5S rRNA transcription, TFIIIA also stabilises 5S rRNA until it is required for transcription. NULL cmbuild -F CM SEED cmcalibrate --mpi CM cmsearch --cpu 4 --verbose --nohmmonly -T 24.99 -Z 549862.597050 CM SEQDB 712 183439 0 0 Gene; rRNA; Published; PMID:11283358 7946 0 0.59496 -5.32219 1600000 213632 305 119 1 -3.78120 0.71822 2013-10-03 20:41:44 2016-04-21 23:07:03
Это первая строка и результат извлечения из listoflists является:
RF00002
5_8S_rRNA
5.8S ribosomal RNA
Griffiths-Jones SR, Mifsud W
5.8S ribosomal RNA (5.8S rRNA) is a component of the large subunit of the eukaryotic ribosome. It is transcribed by RNA polymerase I as part of the 45S precursor that also contains 18S and 28S rRNA. Functionally, it is thought that 5.8S rRNA may be involved in ribosome translocation [2]. It is also known to form covalent linkage to the p53 tumour suppressor protein [3]. 5.8S rRNA is also found in archaea.
Спасибо за ответ, The init.py является присутствует в каталоге сценария. Я попытался переместить определение file_path внутри def run(), но выполнение по-прежнему возвращается с этой ошибкой: (.VirEnvStructuRna) work @ pboccaletto ~/Desktop/StructuRNA/веб-сайт мастер ● python manage.py шаблоны подкачки Исключение при запуске run() в 'scripts.familiespopulate' – Peter
Является ли ваша папка с сценариями в каталоге, где находится manage.py? –
Да. Я решил проблему. И сейчас я отправлю решение. – Peter