Подтвердить что ты не робот

Получение ошибки Python "из: невозможно прочитать /var/mail/Bio "

Я запускаю (био) python script, что приводит к следующей ошибке:

from: can't read /var/mail/Bio

поскольку мой script не имеет ничего общего с почтой, я не понимаю, почему мой script ищет /var/mail.

Какая проблема здесь? Я сомневаюсь, что это поможет, поскольку script, похоже, не проблема, но вот мой script в любом случае:

from Bio import SeqIO
from Bio.SeqUtils import ProtParam

handle = open("examplefasta.fasta") 
for record in SeqIO.parse(handle, "fasta"): 
    seq = str(record.seq)
    X = ProtParam.ProteinAnalysis(seq)
    print X.count_amino_acids() 
    print X.get_amino_acids_percent() 
    print X.molecular_weight() 
    print X.aromaticity() 
    print X.instability_index() 
    print X.flexibility() 
    print X.isoelectric_point() 
    print X.secondary_structure_fraction()

в чем проблема? плохая настройка python? Я действительно не думаю, что это script.

4b9b3361

Ответ 1

Нет, это не script, это факт, что ваш script не выполняется Python вообще. Если ваш script хранится в файле с именем script.py, вы должны выполнить его как python script.py, иначе оболочка по умолчанию выполнит его, и он выйдет из ключевого слова from. (Кстати, from - это имя утилиты командной строки, которая печатает имена тех, кто отправил почту указанному имени пользователя, поэтому он пытается получить доступ к почтовым ящикам).

Другая возможность состоит в том, чтобы добавить следующую строку в начало script:

#!/usr/bin/env python

Это даст указание вашей оболочке выполнить script через python вместо того, чтобы пытаться интерпретировать ее самостоятельно.

Ответ 2

Я столкнулся с аналогичной ошибкой

"из: невозможно прочитать /var/mail/django.test.utils"

при попытке выполнить команду

>>> from django.test.utils import setup_test_environment
>>> setup_test_environment()

в учебнике https://docs.djangoproject.com/en/1.8/intro/tutorial05/

после прочтения ответа Тамаса Я понял, что не пытаюсь выполнить эту команду в оболочке python, но в termnial (это может случиться с новыми для Linux)

решение состояло в том, чтобы сначала войти в оболочку python с помощью команды python и когда вы получите их → > затем запустите любые команды python

Ответ 3

То же самое здесь. У меня была эта ошибка при запуске команды импорта из терминала без активации оболочки python3 через manage.py в проекте django (да, я еще новичок). Как и следовало ожидать, активация оболочки позволила правильной интерпретации команды.

./manage.py shell

и только тогда

>>> from django.contrib.sites.models import Site