ConfigParser.NoSectionError: 在Exe中没有节: 'locations'
我成功地为我的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")