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

在一个Python文件中可导入openpyxl,另一个文件却报ModuleNotFoundError

解决main.py导入openpyxl失败但test.py正常的问题

你遇到的核心问题肯定是两个脚本使用的Python环境不一致——test.py能正常导入是因为它运行在已经安装openpyxl的环境里,而main.py调用的是另一个没装这个包的Python解释器。下面是几个针对性的解决步骤,亲测有效:

第一步:确认环境差异

先验证两个脚本的运行环境是否不同,在test.py和main.py的最顶部都添加这几行代码:

import sys
print("当前Python解释器路径:", sys.executable)

分别运行两个脚本,对比输出的路径。如果路径不一样,就实锤是环境问题了。


情况1:虚拟环境未激活或选错

如果你用了虚拟环境(比如venv),大概率是运行main.py时没激活对应环境:

  • Windows系统:打开命令行进入项目目录,先运行venv\Scripts\activate(把venv换成你的虚拟环境文件夹名),激活成功后再执行python main.py。
  • Mac/Linux系统:进入项目目录,运行source venv/bin/activate激活环境,再运行python main.py。

情况2:全局多Python版本共存

如果你的电脑装了多个Python版本(比如Python3.8和3.9),可能test.py用的是装了包的版本,main.py用的是没装的:
找到main.py对应的Python路径(比如你报错里的C:\Python39\python.exe),直接在命令行运行:

C:\Python39\python.exe -m pip install openpyxl

这会强制给这个特定版本的Python安装openpyxl,避免和其他版本的pip混淆。

情况3:IDE运行配置错误

如果用IDE(比如PyCharm、VS Code)运行脚本,可能IDE给main.py分配了错误的解释器:

  • PyCharm:点击右上角运行配置下拉框,选择Edit Configurations,在Python interpreter里选和test.py相同的解释器,保存后重新运行。
  • VS Code:打开命令面板(Ctrl+Shift+P),输入Python: Select Interpreter,选择和test.py运行时一致的解释器,再运行main.py。

附你遇到的错误信息:

C:\Python39\python.exe "C:/Users/User/Desktop/Wash & Fold Laundry Billing System/main.py"
Traceback (most recent call last):
File "C:\Users\User\Desktop\Wash & Fold Laundry Billing System\main.py", line 5, in
from openpyxl import Workbook
ModuleNotFoundError: No module named 'openpyxl'
Process finished with exit code 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:15:10