【问题标题】:ConfigParser raises KeyError or NoSectionError after PyinstallerConfigParser 在 Pyinstaller 之后引发 KeyError 或 NoSectionError
【发布时间】:2022-11-28 08:09:16
【问题描述】:

希望有人能帮助我。 我有以下问题:

我正在尝试为 Windows 和 macOS 创建一个可执行文件。 PyInstaller 似乎一切正常。我有一个使用 WebUI 看起来像桌面应用程序的 Flask 应用程序。

当我在 PyCharm 上启动所有内容时,它看起来不错,没有问题。但是如果我试图在 PyInstaller 之后启动它,它会因为以下输出而停止:

File "modules/api/model_processes.py", line 4, in <module>
  File "/var/folders/sl/3mjtrnt92hg4sn88jng2jthc0000gn/T/embedded.2j6sck_q.zip/shibokensupport/__feature__.py", line 142, in _import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller/loader/pyimod03_importers.py", line 476, in exec_module
  File "modules/api/calls.py", line 51, in <module>
  File "configparser.py", line 963, in __getitem__
KeyError: 'AUTH'

我的 config.ini 看起来像这样:

[API]
request: http://127.0.0.1:4899

[KEY]
POST_KEY: 1234AKe7
GET_KEY: 2345Ot4eRKe7

[AUTH]
USER: USER-1
PASSWD: SeCr3tP@$$wordH3re

我像这样使用 ConfigParser:

config = ConfigParser()
config.read(os.path.abspath('config.ini'))

username = config['AUTH']['USER']
password = config['AUTH']['PASSWD']

我还尝试像这样使用 ConfigParser 中的 get 方法:

config = ConfigParser()
config.read(os.path.abspath('config.ini'))

username = config.get('AUTH', 'USER')
password = config.get('AUTH', 'PASSWD')

但是我收到了 NoSectionError:

File "modules/api/model_processes.py", line 4, in <module>
  File "/var/folders/sl/3mjtrnt92hg4sn88jng2jthc0000gn/T/embedded.gfsaq5l1.zip/shibokensupport/__feature__.py", line 142, in _import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller/loader/pyimod03_importers.py", line 476, in exec_module
  File "modules/api/calls.py", line 51, in <module>
  File "configparser.py", line 781, in get
  File "configparser.py", line 1152, in _unify_values
configparser.NoSectionError: No section: 'AUTH'

但正是有这个部分。它适用于 PyCharm,但不适用于 Pyinstaller。 看起来 ConfigParser 不能读取我的 config.ini,但他没有正确读取它?同上。希望有人有想法。

【问题讨论】:

    标签: python pyinstaller configparser


    【解决方案1】:

    是的,我找到了一个“解决方案”,哈哈。 我导入了错误的 config.ini

    【讨论】:

      猜你喜欢
      • 2023-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多