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