【问题标题】:Getting Python error "from: can't read /var/mail/Bio"收到 Python 错误“来自:无法读取 /var/mail/Bio”
【发布时间】:2013-04-17 20:37:12
【问题描述】:

我正在运行导致以下错误的 (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


    【解决方案1】:

    不,这不是脚本,而是您的脚本根本没有被 Python 执行。如果您的脚本存储在一个名为script.py 的文件中,您必须将其作为python script.py 执行,否则默认shell 将执行它并在from 关键字处退出。 (顺便说一下,from 是一个命令行实用程序的名称,它打印向给定用户名发送邮件的人的姓名,这就是它尝试访问邮箱的原因。

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

    #!/usr/bin/env python
    

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

    【讨论】:

    • 是的,除非python 位于其他地方。我更喜欢使用基于env的解决方案,因为它只是在用户的默认路径中查找Python。
    • 嗯...我从没听说过。非常真实。
    • 非常好 - 感谢您指出我的男生错误。我正在从在 python 命令提示符下输入转换为执行脚本。
    • 谢谢。我不是 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/的教程中

    阅读 Tamás 的回答后 我意识到我不是在 python shell 中而是在终端中尝试这个命令(这可能发生在那些刚接触 linux 的人身上)

    解决方法是先用命令python进入python shell 当你得到这些>>> 然后运行任何 python 命令

    【讨论】:

      【解决方案3】:

      这里也一样。在 django 项目中从终端运行导入命令而没有通过 manage.py 激活 python3 shell 时出现此错误(是的,我还是个新手)。正如人们所预料的那样,激活 shell 可以正确解释命令。

      ./manage.py shell
      

      只有这样

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

      【讨论】:

        【解决方案4】:

        把它放在你的 .py 文件的顶部(对于 python 2.x)

        #!/usr/bin/env python 
        

        或者对于 python 3.x

        #!/usr/bin/env python3
        

        这应该查找 python 环境,没有它,它将像不是 python 代码一样执行代码,而是直接到 CLI。如果需要手动指定python环境put的位置

        #!/#path/#to/#python
        

        【讨论】:

          【解决方案5】:

          我遇到了同样的错误,因为我试图继续运行

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

          【讨论】:

            【解决方案6】:

            对于 Mac OS,只需转到应用程序并运行这些脚本 Install Certificates.command 和 Update Shell Profile.command,现在它就可以工作了。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2019-04-27
              • 2013-12-18
              • 1970-01-01
              • 1970-01-01
              • 2013-10-04
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多