Python 오류 "from : ca n't read / var / mail / Bio"


92

다음 오류가 발생하는 (bio) python 스크립트를 실행 중입니다.

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

내 스크립트가 메일과 관련이 없기 때문에 내 스크립트가 / var / mail을 찾는 이유를 이해할 수 없습니다.

여기서 문제는 무엇입니까? 스크립트가 문제가 아닌 것 같기 때문에 도움이 될 것 같지 않지만 어쨌든 내 스크립트는 다음과 같습니다.

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()

여기서 문제는 무엇입니까? 잘못된 파이썬 설정? 나는 그것이 대본이라고 생각하지 않는다.

답변:


189

아니요, 스크립트가 아니라 스크립트가 Python에 의해 전혀 실행되지 않는다는 사실입니다. 스크립트가라는 파일에 저장되어있는 script.py경우으로 실행해야합니다 python script.py. 그렇지 않으면 기본 쉘이 실행하고 from키워드 에서 구제 조치됩니다 . (부수적으로 from는 주어진 사용자 이름으로 메일을 보낸 사람의 이름을 인쇄하는 명령 줄 유틸리티의 이름이므로 사서함에 액세스하려고 시도합니다).

또 다른 가능성은 스크립트 상단에 다음 줄을 추가하는 것입니다.

#!/usr/bin/env python

이렇게하면 쉘 python이 자체적으로 해석하려고하는 대신 스크립트를 실행하도록 지시합니다 .


10
또는 #!/usr/bin/python/
kirbyfan64sos apr

13
예, python다른 곳에 있지 않는 한 . env사용자의 기본 경로에서 Python을 조회하기 때문에 기반 솔루션 을 사용하는 것을 선호합니다 .
Tamás 2013

흠 ... 그건 들어 본 적이 없어요. 매우 사실입니다.
kirbyfan64sos

2
우수-내 남학생 오류를 지적 해 주셔서 감사합니다. im은 파이썬 명령 프롬프트에서 입력에서 스크립트 실행으로 전환합니다.
brucezepplin 2013

감사합니다. 나는 파이썬 코더는 아니지만 내 과제를 위해 이것을해야한다.
arn-arn

14

비슷한 오류가 발생했습니다.

"보낸 사람 : /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/ 의 자습서에서

Tamás의 답변을 읽은 후 나는 파이썬 셸 에서이 명령을 시도하는 것이 아니라 터미널에서 (이것은 리눅스를 처음 접하는 사람들에게 발생할 수 있음을 깨달았습니다)

해결책은 먼저 python 명령을 사용하여 python 쉘에 들어가서 이러한 명령을 받으면 >>> 그런 다음 Python 명령을 실행하는 것입니다.


5

여기도 마찬가지입니다. django 프로젝트에서 manage.py를 통해 python3 셸을 활성화하지 않고 터미널에서 가져 오기 명령을 실행할 때이 오류가 발생했습니다 (예, 저는 아직 초보자입니다). 예상대로 쉘을 활성화하면 명령이 올바르게 해석 될 수 있습니다.

./manage.py shell

그리고 나서야

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

3

이것을 .py 파일의 맨 위에 놓으십시오 (python 2.x의 경우)

#!/usr/bin/env python 

또는 파이썬 3.x의 경우

#!/usr/bin/env python3

이것은 파이썬 환경을 찾아야합니다. 그것 없이는 파이썬 코드가 아닌 것처럼 코드를 실행하지만 CLI로 직접 실행합니다. Python 환경의 수동 위치를 지정해야하는 경우

#!/#path/#to/#python

1

실행하려고했기 때문에 같은 오류가 발생했습니다.

XXX-Macmini:Python-Project XXX.XXX$ from classDemo import MyClass

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

이 문제를 해결하려면 python 명령을 입력 하고 >>> 명령을 받으면 python 명령을 실행하십시오.

>>>from classDemo import MyClass
>>>f = MyClass()

-1

Mac OS의 경우 응용 프로그램으로 이동하여 다음 Scripts Install Certificates.command 및 Update Shell Profile.command를 실행하면 이제 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.