ConfigParser.NoSectionError: 在Exe中没有节: 'locations'

0 投票
2 回答
3583 浏览
提问于 2025-04-16 14:18

我成功地为我的Python代码创建了一个.exe文件。作为.py文件时,它运行得非常顺利。但是当我尝试从.exe版本运行时,却出现了以下错误:

Traceback (most recent call last):
  File "CreateAS.pyw", line 14, in <module>
  File "pulp\__init__.pyc", line 33, in <module>
  File "pulp\pulp.pyc", line 103, in <module>
  File "pulp\solvers.pyc", line 101, in <module>
  File "pulp\solvers.pyc", line 59, in initialize
  File "ConfigParser.pyc", line 532, in get
ConfigParser.NoSectionError: No section: 'locations'

我该如何解决这个问题呢?

提前谢谢你。

我代码的相关部分:

在这里输入图片描述

还有我的配置文件:

下载配置文件

2 个回答

0

检查这个部分是否存在。如果不存在,就添加它。

config = ConfigParser.ConfigParser()
if not config.has_section("locations"):
    config.add_section("locations")
0

好的,我找到了解决办法。在Pulp文件夹里有一个叫solvers.py的文件。在里面,我把DIRNAME替换成了Pulp文件夹的完整路径,像这样:

if __name__ != '__main__':
    DIRNAME = r"C:\Python26\Lib\site-packages\PuLP-1.4.7-py2.6.egg\pulp"
    config_filename = os.path.join(DIRNAME,
                                   PULPCFGFILE) else: #run as a script
    from pulp import __file__ as fname
    DIRNAME = r"C:\Python26\Lib\site-packages\PuLP-1.4.7-py2.6.egg\pulp"
    config_filename = os.path.join(DIRNAME,
                                   PULPCFGFILE) cplex_dll_path, coinMP_path, gurobi_path, cbc_path, glpk_path = \
        initialize(config_filename)

不过如果是为了发布项目,你就不需要做上面的事情。你应该把pulp文件夹放到你的项目里。然后在你的项目最上面加上下面的代码:

import sys
sys.path.append(r"C:\Python26\Lib\site-packages\PuLP-1.4.7-py2.6.egg\pulp")

撰写回答