Last Updated:

【Python】ConfigParser读取配置文件出现ConfigParser.MissingSectionHeaderError

yiliang.dong
yiliang.dong 环境配置

问题描述

pip安装包显示异常

(python27) D:\pyspace>python -m pip install mc-netease-sdk
Traceback (most recent call last):
  File "D:\apps\anaconda3\envs\python27\lib\runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "D:\apps\anaconda3\envs\python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "D:\apps\anaconda3\envs\python27\lib\site-packages\pip\__main__.py", line 19, in <module>
    sys.exit(pip.main())
  File "D:\apps\anaconda3\envs\python27\lib\site-packages\pip\__init__.py", line 233, in main
    cmd_name, cmd_args = parseopts(args)
  File "D:\apps\anaconda3\envs\python27\lib\site-packages\pip\__init__.py", line 159, in parseopts
    parser = create_main_parser()
  File "D:\apps\anaconda3\envs\python27\lib\site-packages\pip\__init__.py", line 137, in create_main_parser
    parser = ConfigOptionParser(**parser_kw)
  File "D:\apps\anaconda3\envs\python27\lib\site-packages\pip\baseparser.py", line 148, in __init__
    self.config.read(self.files)
  File "D:\apps\anaconda3\envs\python27\lib\ConfigParser.py", line 305, in read
    self._read(fp, filename)
  File "D:\apps\anaconda3\envs\python27\lib\ConfigParser.py", line 512, in _read
    raise MissingSectionHeaderError(fpname, lineno, line)
ConfigParser.MissingSectionHeaderError: File contains no section headers.
file: C:\Users\dongyiliang\pip\pip.ini, line: 1
' [global]\n'

问题原因

用ConfigParser读取配置文件的程序调用后发现文件头部被追加了信息:\xef\xbb\xbf,然后ConfigParser解析出错 \xef\xbb\xbf的出现原因:在Window下记事本、notepad++等文本编辑器编辑后,若保存为不同的编码格式会在文件开头加上BOM

UNICODE: \xFF\xFE
UTF-8:\xEF\xBB\xBF

解决方法

用notepad++将文件编码修改为以UTF-8无BOM格式编码,然后保存文件就行了。

Image description

pip.ini

[global]
index-url = https://pypi.doubanio.com/simple/
[install]
trusted-host=pypi.doubanio.com

Comments