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

在子目录运行Pytest时遭遇ImportError与ModuleNotFoundError问题求助

问题分析与解决方案

这个报错的核心原因不是你没安装MySQL服务器,而是Python的MySQL连接包没正确安装,或者pytest运行的Python环境和你安装包的环境不匹配——毕竟MySQL服务器本身和Python用来连接它的mysql.connector是完全两个独立的东西。

下面是一步步的排查和解决办法:

1. 确认你安装的是正确的Python包

你需要安装的是Python的MySQL连接器包mysql-connector-python,而不是MySQL服务器本身。打开终端执行:

pip install mysql-connector-python

如果你的系统里同时存在Python2和Python3,要确保用对应版本的pip,比如Python3环境下用:

pip3 install mysql-connector-python

2. 检查虚拟环境是否激活

如果你使用了虚拟环境(比如venv、conda),一定要确保运行pytest时已经激活了这个环境:

  • 对于venv:
    # Linux/macOS
    source your_env/bin/activate
    # Windows
    your_env\Scripts\activate
    

激活后再重新运行pytest,或者重新安装对应包。

3. 验证环境一致性

有时候pip和python命令对应不同的环境,导致安装的包不在pytest使用的Python路径里:

  1. 先查看当前终端的Python路径:
    which python  # Linux/macOS
    where python  # Windows
    
  2. 再查看pip的路径:
    which pip  # Linux/macOS
    where pip  # Windows
    

如果两个路径不属于同一个环境,就用Python本身来安装包,避免版本混乱:

python -m pip install mysql-connector-python

然后用Python调用pytest来运行测试,确保环境统一:

python -m pytest tests/test.py

4. 手动验证安装是否成功

打开终端输入python,进入交互环境后执行:

import mysql.connector

如果没有报错,说明包已经正确安装,问题就是pytest的环境没对应上;如果还是报错,就重新执行安装命令,确保网络正常,没有安装失败的情况。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 05:42:27