Missingsectionheadererror: File Contains No Section Headers
I Am Trying to Build Collective. Simserver According to This Manual, with Some Modifications: Instead of: Virtualenv --Python=Bin/Python2.7 Simserver/ I Am...
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/", line 1851, in main
command)
File "/tmp/tmpLiHZgo/", line 203, in __init__
data['buildout'].copy(), override, set()))
File "/tmp/tmpLiHZgo/", 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?
5 Answers
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.
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.
There is no section header in the configuration file.
Essentially, the file consists of sections, each of which contains keys with values.
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.
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')