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

PyInstaller打包的Python可执行文件无法识别Selenium库问题求助

解决PyInstaller打包Selenium Chrome驱动时的ModuleNotFoundError问题

我之前也碰到过一模一样的情况——IDE里跑起来毫无问题,打包成Windows EXE就报错找不到selenium的Chrome webdriver模块。核心原因其实是PyInstaller的静态代码分析没捕捉到这个动态导入的模块,给你几个靠谱的解决办法:

方法一:直接在打包命令中添加隐藏导入参数

最快捷的方式就是手动告诉PyInstaller要包含这个缺失的模块,把你的打包命令修改为:

pyinstaller --onefile --noconsole --hidden-import selenium.webdriver.chrome.webdriver main.py

--hidden-import参数就是用来强制PyInstaller纳入那些静态分析没发现的依赖模块的。

方法二:使用.spec文件进行更灵活的配置

如果方法一没搞定,或者你需要定制更多打包细节,可以试试用spec文件:

  1. 先生成默认的spec文件:
    pyinstaller --onefile --noconsole main.py
    
  2. 找到生成的main.spec文件并打开,在Analysis部分的hiddenimports字段里添加上缺失的模块:
    a = Analysis(
        ['main.py'],
        pathex=[],
        binaries=[],
        datas=[],
        hiddenimports=['selenium.webdriver.chrome.webdriver'],  # 在这里添加模块
        hookspath=[],
        hooksconfig={},
        runtime_hooks=[],
        excludes=[],
        noarchive=False,
    )
    
  3. 用修改后的spec文件重新打包:
    pyinstaller main.spec
    

额外注意事项

  • 确保打包时激活的是和PyCharm中完全相同的虚拟环境,避免因为环境不一致导致依赖收集错误。
  • 如果你的Selenium版本是4.x以上,确认代码中导入ChromeDriver的方式是正确的(比如from selenium.webdriver.chrome.service import Service这种新写法),不过既然IDE里能正常运行,这个大概率没问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 06:40:24