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

Python脚本打包.exe时出现Sqlalchemy_access.pyodbc模块缺失错误求助

解决打包exe后ModuleNotFoundError: No module named 'sqlalchemy_access.pyodbc'的问题

问题原因

PyInstaller等打包工具无法自动检测到sqlalchemy_access的子模块pyodbc——该子模块属于动态导入逻辑,未被脚本显式引用,导致打包后的exe中缺失该模块。

解决方案

1. 显式导入缺失子模块

在脚本开头添加显式导入语句,让PyInstaller能识别并打包该模块:

import sqlalchemy_access.pyodbc

修改后的导入段示例:

import pandas as pd
import numpy as np
import os
# ... 其他原有导入 ...
import sqlalchemy 
import sqlalchemy_access as sq_a
import sqlalchemy_access.pyodbc  # 新增该行
# ... 其他原有导入 ...

2. 打包时指定隐藏导入

若不想修改脚本,可在使用PyInstaller打包时通过--hidden-import参数强制包含该模块:

pyinstaller --hidden-import=sqlalchemy_access.pyodbc your_script_name.py

如果使用.spec文件打包,在hiddenimports列表中添加该模块:

a = Analysis(
    # ... 其他配置项 ...
    hiddenimports=['sqlalchemy_access.pyodbc'],
    # ... 其他配置项 ...
)

3. 确认虚拟环境依赖

  • 打包前务必激活myenv虚拟环境,执行pip install sqlalchemy-access pyodbc确认依赖已完整安装。
  • 避免使用全局Python环境打包,防止依赖版本不一致或缺失。

4. 清理冗余导入(可选)

你的脚本中导入了from flask_sqlalchemy import SQLAlchemy但未实际使用,可删除该导入,减少打包体积和潜在的依赖冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 16:20:14