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

运行Pytest时出现No Module named 'api'错误,求解决方法

解决Pytest报"No Module named 'api'"的实用方案

1. 规范项目结构,确保api被识别为模块

你的项目需要符合Python包的基本结构,api文件夹必须包含__init__.py文件(空文件也可以),示例结构如下:

你的项目根目录/
├── api/
│   ├── __init__.py
│   └── 你的业务代码文件.py
├── tests/
│   ├── test_api.py
│   └── 其他测试文件.py

没有__init__.py的话,Python不会把这个文件夹当作可导入的模块。

2. 把项目根目录加入Python搜索路径

方法一:通过pytest配置文件永久设置

在项目根目录创建pytest.ini文件,写入以下内容:

[pytest]
pythonpath = .

这样pytest运行时会自动把根目录加入Python的模块搜索路径。

方法二:在测试文件中临时添加路径

如果不想用配置文件,可以在测试文件开头添加这段代码(根据你的测试文件位置调整层级):

import sys
from pathlib import Path
# 假设测试文件在tests文件夹,根目录是它的上级目录
sys.path.append(str(Path(__file__).parent.parent))

3. 用正确的命令运行pytest

不要在tests文件夹内部直接执行pytest,回到项目根目录再运行命令:

cd /你的项目根目录路径
pytest tests/

4. 检查虚拟环境(如果使用)

如果你用了虚拟环境,确保已经激活该环境,并且pytest和相关依赖都安装在这个虚拟环境中,避免全局环境和虚拟环境的模块路径混淆。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 11:55:25