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.
Docs ConfigParser python module
0This 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')