You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyInstaller打包Selenium脚本为exe后出现configparser.NoSectionError报错求助

解决PyInstaller打包Selenium脚本后exe找不到ini文件的问题

这个报错configparser.NoSectionError: No section: 'settings'本质是打包后的exe找不到你的myini.ini文件——脚本运行时是在当前工作目录读取ini,但PyInstaller默认不会把外部配置文件打包进去,而且exe运行时的工作目录可能和你预期的不一样。

下面给你几个可行的解决方案,按推荐程度排序:

方案1:将ini文件打包进exe(推荐,适合分发)

这个方法能让用户只拿到一个exe文件就能运行,不需要额外复制配置文件。

步骤1:修改脚本,适配打包后的路径

PyInstaller打包后会把资源文件放到临时目录,我们可以通过sys._MEIPASS获取这个路径。修改你的S5.py代码:

import selenium
from selenium import webdriver
from configparser import ConfigParser
import sys
import os

# 获取资源文件的正确路径
def get_resource_path(filename):
    if hasattr(sys, '_MEIPASS'):
        # 打包后的运行环境:从临时目录读取资源
        return os.path.join(sys._MEIPASS, filename)
    # 开发环境:从当前目录读取
    return filename

parser = ConfigParser()
# 用新方法获取ini路径
ini_path = get_resource_path('myini.ini')
parser.read(ini_path)

A = parser.get('settings', 'company')
B = parser.get('settings', 'user')
C = parser.get('settings', 'password')
D = parser.get('settings', 'system')
# 顺便把chromedriver的路径也处理下(如果要分发的话)
E = get_resource_path('chromedriver.exe')
F = parser.get('settings', 'file1')

driver = webdriver.Chrome(E)
# 后面代码保持不变...

步骤2:用PyInstaller打包时包含ini文件

打开命令行,运行打包命令(Windows系统):

# 打包成单文件exe
pyinstaller --onefile --add-data "myini.ini;." --add-data "chromedriver.exe;." S5.py

如果是Linux/macOS,把路径分隔符换成冒号::

pyinstaller --onefile --add-data "myini.ini:." --add-data "chromedriver.exe:." S5.py

--add-data参数的作用是把指定文件打包进exe,运行时释放到临时目录的根目录(.表示当前目录)。

方案2:手动复制ini文件到exe同目录(快速测试用)

如果只是自己测试,不想改代码,可以:

  • 用PyInstaller正常打包生成exe文件
  • 找到exe所在的文件夹,把你的myini.ini复制到同一个文件夹里
  • 双击exe就能正常运行了

缺点是分发时需要同时提供exe和ini文件,用户容易弄丢其中一个。

方案3:写死ini文件的绝对路径(不推荐)

你可以把代码里的parser.read('myini.ini')改成绝对路径,比如:

parser.read('C:/Users/john/Desktop/myini.ini')

但这个方法灵活性极差,换个电脑或者移动ini文件的位置就会报错,只适合临时测试,不建议用于分发。

另外提醒下:你的ini里driver是绝对路径,如果要把exe分发给其他用户,最好也把chromedriver打包进去(参考方案1的处理方式),不然其他电脑没有C:/chromedriver/chromedriver.exe这个路径会报找不到驱动的错误。

内容的提问来源于stack exchange,提问作者Rafael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:18:59