1. ホーム
  2. python

[解決済み] Pythonエラー "from: can't read /var/mail/Bio" の発生について

2022-12-27 20:20:35

質問

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

Pythonのセットアップが悪いのか?スクリプトのせいではないと思うのですが。

どのように解決するのですか?

いいえ、それはスクリプトではなく、あなたのスクリプトがPythonによって全く実行されないという事実です。もしあなたのスクリプトが script.py という名前のファイルに保存されているなら、それを python script.py でないと、デフォルトのシェルが実行され、その結果 from というキーワードで抜けてしまいます。(ちなみに from は、与えられたユーザ名にメールを送った人の名前を表示するコマンドラインユーティリティの名前なので、メールボックスにアクセスしようとするのはそのためです)。

もうひとつの可能性は、スクリプトの先頭に次の行を追加することです。

#!/usr/bin/env python

これは、シェルにスクリプトを実行するように python を通して実行するように指示します。