MissingSectionHeaderError: File contains no section headers
Question:
I am trying to build collective.simserver according to this manual, with some modifications:
instead of: virtualenv --python=bin/python2.7 simserver/
I am using: virtualenv --python=myVirtualEnv/bin/python simserver
and I managed to come to this point:
myVirtualEnv/bin/python bootstrap.py
and then it breaks apart with this error info:
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 #
What might be wrong?
Answers:
There is no section header in the configuration file.
Essentially, the file consists of sections, each of which contains keys with values.
i think im late for answer but it happened for me when i saved Config file as UTF-8
Try saving the file as ANSI
.
This error, is most likely because the sections in the config file are missing a header (or it is incorrectly specified). See the configparser docs to see the format the configuration files must have.
A configuration file consists of sections, which have to be preceded by a [header]
, for instance:
[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes
[bitbucket.org]
User = hg
[topsecret.server.com]
Port = 50022
ForwardX11 = no
And each section in the config file will contain key/value pairs separated by a string (=
or :
by default). The header of each section has to be in the format [header]
, anything different will yield a configparser.MissingSectionHeaderError
.
For me, I’ve seen this error because I mistakenly assume the API of .read_file()
accepts a file path, but it only accepts a file handle.
Although the question was specifically asked in relation to buildout, this exception can occur more generally if you mistakenly pass a filename instead of a filehandle (or anything else file-like) to ConfigParser.read_file
Wrong:
config = ConfigParser()
config.read_file('config.ini')
Right:
config = ConfigParser()
with open('config.ini') as fh:
config.read_file(fh)
# or:
config.read('config.ini')
I am trying to build collective.simserver according to this manual, with some modifications:
instead of: virtualenv --python=bin/python2.7 simserver/
I am using: virtualenv --python=myVirtualEnv/bin/python simserver
and I managed to come to this point:
myVirtualEnv/bin/python bootstrap.py
and then it breaks apart with this error info:
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 #
What might be wrong?
There is no section header in the configuration file.
Essentially, the file consists of sections, each of which contains keys with values.
i think im late for answer but it happened for me when i saved Config file as UTF-8
Try saving the file as ANSI
.
This error, is most likely because the sections in the config file are missing a header (or it is incorrectly specified). See the configparser docs to see the format the configuration files must have.
A configuration file consists of sections, which have to be preceded by a [header]
, for instance:
[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes
[bitbucket.org]
User = hg
[topsecret.server.com]
Port = 50022
ForwardX11 = no
And each section in the config file will contain key/value pairs separated by a string (=
or :
by default). The header of each section has to be in the format [header]
, anything different will yield a configparser.MissingSectionHeaderError
.
For me, I’ve seen this error because I mistakenly assume the API of .read_file()
accepts a file path, but it only accepts a file handle.
Although the question was specifically asked in relation to buildout, this exception can occur more generally if you mistakenly pass a filename instead of a filehandle (or anything else file-like) to ConfigParser.read_file
Wrong:
config = ConfigParser()
config.read_file('config.ini')
Right:
config = ConfigParser()
with open('config.ini') as fh:
config.read_file(fh)
# or:
config.read('config.ini')