Получение ошибки 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.
Ответы
Ответ 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