从以下位置获取Python错误:无法读取/ 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()

这里有什么问题?错误的python设置?我真的不认为这是脚本。

Answers:


189

不,这不是脚本,而是您的脚本根本没有被Python执行。如果您的脚本存储在名为的文件中script.py,则必须以身份执行该脚本python script.py,否则默认的外壳程序将执行该脚本,并且该脚本将通过from关键字退出。(顺便说一句,它from是命令行实用程序的名称,该实用程序将打印已将邮件发送到给定用户名的人员的姓名,因此这就是它尝试访问邮箱的原因)。

另一种可能性是在脚本顶部添加以下行:

#!/usr/bin/env python

这将指示您的Shell通过执行脚本,python而不是尝试自行解释脚本。


10
#!/usr/bin/python/
kirbyfan64sos 2013年

13
python是的,除非位于其他地方。我更喜欢使用env基于-解决方案,因为它只是在用户的默认路径中查找Python。
塔玛斯

嗯...我从未听说过。非常真实
kirbyfan64sos 2013年

2
很好-感谢您指出我的男生错误。我正在从在python命令提示符处键入到执行脚本的过渡。
brucezepplin

谢谢。我不是python编码器,但我必须为自己的作业执行此操作。
arn-arn

14

我遇到了类似的错误

“来自:无法读取/var/mail/django.test.utils”

尝试运行命令时

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

在位于https://docs.djangoproject.com/zh/1.8/intro/tutorial05/的教程中

阅读了Tamás的答案后,我意识到我不是在python shell中尝试此命令,而是在终端中尝试(这对于Linux新手来说可能会发生)

解决方案是先使用命令python输入python shell,然后在获得这些>>>之后运行任何python命令


5

同样在这里。从终端运行导入命令时未在Django项目中通过manage.py激活python3 shell时出现此错误(是的,我是新手)。如人们所料,激活外壳程序可以正确解释命令。

./manage.py shell

只有这样

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

3

将其放在.py文件的顶部(对于python 2.x)

#!/usr/bin/env python 

或适用于python 3.x

#!/usr/bin/env python3

这应该查找python环境,如果没有它,它将执行代码,就好像它不是python代码,而是直接进入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,只需转到应用程序并运行以下脚本,即可安装Certificates.command和Update Shell Profile.command,现在可以使用了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.