Python 使用Pynsist时出现KeyError

Python 使用Pynsist时出现KeyError,python,pynsist,Python,Pynsist,我试图复制以下示例:但它不起作用。我有一个从这里复制粘贴的python文件和.cfg,但是当我在命令提示符下运行py-m nsist installer.cfg时,我得到以下错误: C:\Users\Mike\Desktop>py -m nsist installer.cfg Traceback (most recent call last): File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\runpy

我试图复制以下示例:但它不起作用。我有一个从这里复制粘贴的python文件和.cfg,但是当我在命令提示符下运行
py-m nsist installer.cfg
时,我得到以下错误:

C:\Users\Mike\Desktop>py -m nsist installer.cfg
Traceback (most recent call last):
  File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\site-packages\nsist\__main__.py", line 2, in <module>
    main()
  File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\site-packages\nsist\__init__.py", line 527, in main
    shortcuts = configreader.read_shortcuts_config(cfg)
  File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\site-packages\nsist\configreader.py", line 182, in read_shortcuts_config
    appcfg = cfg['Application']
  File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\configparser.py", line 956, in __getitem__
    raise KeyError(key)
KeyError: 'Application'
C:\Users\Mike\Desktop>py-m nsist installer.cfg
回溯(最近一次呼叫最后一次):
文件“C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\runpy.py”,第193行,作为主运行模块
“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
文件“C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\runpy.py”,第85行,在运行代码中
exec(代码、运行\全局)
文件“C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\site packages\nsist\\uuuuuuu main\uuuuuuuuu.py”,第2行,在
main()
文件“C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\site packages\nsist\\uuuuuu init\uuuuuu.py”,第527行,主目录
快捷方式=configreader.read\u快捷方式\u配置(cfg)
文件“C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\site packages\nsist\configreader.py”,第182行,在read\u shortcuts\u config中
appcfg=cfg[“应用程序”]
文件“C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\configparser.py”,第956行,位于\uu getitem中__
升起钥匙错误(钥匙)
KeyError:“应用程序”

我是在Windows 10 64位上从Python 3.6.0运行此程序的。

问题是配置文件名为
installer.cfg.txt
,而不是
installer.cfg

如果您遇到类似的问题,请仔细检查配置文件是否位于正确的位置,以及名称是否与您在命令行中键入的内容匹配。请记住,某些程序(如Windows资源管理器)可能隐藏已知的扩展名,因此您看到的可能不是真实的文件名。使用终端或命令提示符通常会显示真实姓名


当配置文件不存在时,我将进行Pynsist。

这很奇怪。您能否尝试编辑
C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\site packages\nsist\configreader.py
并将
print(dict(cfg))
放在第182行之前?它的输出应该有助于了解发生了什么。另外,您是否编辑过
installer.cfg
文件?是的,它会打印
{'DEFAULT':}
。我根本没有编辑
installer.cfg
文件。啊,我想配置文件不在那里。它会在提示符所在的目录中查找(在您的示例中,这是桌面文件夹)。如果您的cfg文件在其他地方,您可以使用
cd
导航到文件所在的位置。当它找不到文件时,它应该会给出一个更清晰的错误-我会解决这个问题。我的桌面上有我的installer.cfg文件和python脚本。我应该将它们一起移动到另一个目录吗?如果在运行
py-m nsist installer.cfg
之前在命令提示符下运行
dir
,它是否会在那里显示文件?