MissingSectionHeaderError: Файл не содержит заголовков разделов

Я пытаюсь собрать colle.simserver в соответствии с этим руководством:

http://plone.org/products/collective.simserver

с некоторыми изменениями:

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

(потому что это не сработает, если я последую примеру)

и мне удалось прийти к этому моменту:

myVirtualEnv/bin/python bootstrap.py

и затем он распадается с этой информацией об ошибке:

    Mint-AMD64 nenad # myVirtualEnv/bin/python bootstrap.py
While:
  Initializing.

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 # 

Что может быть не так?

С уважением, Ненад

5 ответов

Решение

В файле конфигурации нет заголовка раздела.

Файл конфигурации состоит из разделов, возглавляемых заголовком [section] и сопровождаемых записями name: value.

Документы CofigParser Python модуль

Я думаю, что опоздал на ответ, но это случилось для меня, когда я сохранил файл конфигурации как UTF-8Попробуйте сохранить файл как ANSI,

Что касается меня, я видел эту ошибку, потому что ошибочно предполагаю, что API .read_file() принимает путь к файлу, но принимает только дескриптор файла.

Эта ошибка, скорее всего, связана с тем, что в разделах файла конфигурации отсутствует заголовок (или он указан неправильно). См. Документацию по 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.

Хотя вопрос был специально задан в отношении компоновки, это исключение может возникать в более общем случае, если вы по ошибке передаете имя файла вместо дескриптора файла (или что-либо еще похожее на файл) в ConfigParser.read_file

Неправильный:

      config  = ConfigParser()
config.read_file('config.ini')

Верно:

      config = ConfigParser()
with open('config.ini') as fh:
    config.read_file(fh)
# or:
config.read('config.ini')
Другие вопросы по тегам