【问题标题】:MissingSectionHeaderError: File contains no section headersMissingSectionHeaderError:文件不包含节标题
【发布时间】:2012-10-28 05:52:52
【问题描述】:

我正在尝试根据this manual 构建collective.simserver,并进行一些修改:

instead of: virtualenv --python=bin/python2.7 simserver/
I am using: virtualenv --python=myVirtualEnv/bin/python simserver

我设法走到了这一点:

myVirtualEnv/bin/python bootstrap.py

然后它与此错误信息分开:

An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
  File "/tmp/tmpLiHZgo/zc.buildout-1.6.3-py2.6.egg/zc/buildout/buildout.py", line 1851, in main
    command)
  File "/tmp/tmpLiHZgo/zc.buildout-1.6.3-py2.6.egg/zc/buildout/buildout.py", line 203, in __init__
    data['buildout'].copy(), override, set()))
  File "/tmp/tmpLiHZgo/zc.buildout-1.6.3-py2.6.egg/zc/buildout/buildout.py", line 1465, in _open
    parser.readfp(fp)
  File "/usr/lib/python2.6/ConfigParser.py", line 305, in readfp
    self._read(fp, filename)
  File "/usr/lib/python2.6/ConfigParser.py", line 482, in _read
    raise MissingSectionHeaderError(fpname, lineno, line)
MissingSectionHeaderError: File contains no section headers.
file: /home/nenad/buildout.cfg, line: 4
'<!DOCTYPE html>\n'
Mint-AMD64 nenad # 

可能出了什么问题?

【问题讨论】:

    标签: python virtualenv configparser


    【解决方案1】:

    我想我迟到了,但是当我将配置文件保存为 UTF-8 时发生了这种情况 尝试将文件另存为ANSI

    【讨论】:

    • 适用于没有 BOM 的 UTF-8 用于 python 3.5
    • 从 UTF-8 切换到 ANSI 为我解决了这个问题。
    【解决方案2】:

    配置文件中没有节头。

    配置文件由多个部分组成,由 [section] 标头引导,后跟名称:值条目。

    Docs CofigParser python module

    【讨论】:

      【解决方案3】:

      对我来说,我看到这个错误是因为我错误地认为.read_file() 的 API 接受文件路径,但它只接受文件句柄。

      【讨论】:

      • 这也是我的问题。
      • 哈哈。有趣的。下次少打字多看书!谢谢!
      【解决方案4】:

      此错误很可能是因为配置文件中的部分缺少标题(或指定错误)。请参阅 configparser 文档以查看配置文件必须具有的格式。

      配置文件由部分组成,这些部分必须以[header]开头,例如:

      [DEFAULT]
      ServerAliveInterval = 45
      Compression = yes
      CompressionLevel = 9
      ForwardX11 = yes
      
      [bitbucket.org]
      User = hg
      
      [topsecret.server.com]
      Port = 50022
      ForwardX11 = no
      

      配置文件中的每个部分都将包含由字符串分隔的键/值对(默认为=:)。每个部分的标题必须是[header]的格式,任何不同都会产生configparser.MissingSectionHeaderError

      【讨论】:

        猜你喜欢
        • 2017-02-11
        • 2019-11-20
        • 2019-06-07
        • 1970-01-01
        • 2022-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多