【报错:No module named pytest】

本文档记录了在使用pytest时遇到的'Nomodulenamedpytest'错误,问题源于系统默认Python解释器与PyCharm所选解释器不一致。解决方案是确保在PyCharm中使用的Python解释器与系统默认的一致,并在正确环境中安装pytest。通过设置PyCharm的PythonInterpreter并安装pytest,最终成功运行测试用例。

No module named pytest

问题:

写了一个pytest的配置文件,想在命令行通过pytest启动配置文件来运行测试用例。报错:No module named pytest

排查:

pytest我肯定是安装过了,但是为什么还会找不到该模块。我打开pycharm的Python Interpreter查看确实是有的
在这里插入图片描述
于是在终端输入:

which python3

在这里插入图片描述

原因

系统默认解释器和pycharm选择的解释器不是同一个,系统默认的那个python解释器里没有安装pytest
在这里插入图片描述

解决

系统默认python3解释器是在/usr/bin/python3下,我回到pycharm——Preferences——Python Interpreter——右上角设置——+号——Vitualenv Environment——New Environment——Base Interpreter选择在该/usr/bin/python3目录下的python解释器。
在这里插入图片描述
发现果然没有pytest
在这里插入图片描述
点击左上角+号,搜索pytest点击install可成功安装。Terminal中输入:
pytest可成功运行
在这里插入图片描述
test_add_01.py:

def add(x, y):
    return x + y


class TestAdd:

    def setup(self):
        print("测试用例开始执行")

    def test_add_01(self):
        result = add(1, 2)
        assert result == 3

    def test_add_02(self):
        result = add(2, 2)
        assert result == 5

    def teardown(self):
        print("测试用例执行结束")
### 解决 VSCode 中 `ModuleNotFoundError: No module named 'pytest'` 错误 当在 VSCode 中尝试运行 Python 测试时遇到 `ModuleNotFoundError: No module named 'pytest'` 的错误,这通常意味着当前使用的 Python 环境未安装 pytest 或者 VSCode 使用的 Python 解释器与命令行中不同。 #### 方法一:通过终端安装 Pytest 可以直接在集成终端里使用 pip 安装 pytest 来确保它被添加到正确的环境中: ```bash pip install pytest ``` 如果正在使用虚拟环境,则需先激活该环境再执行上述命令[^1]。 #### 方法二:检查并设置 Python 解释器 确认 VSCode 正确指定了所需的 Python 解释器非常重要。可以通过以下方式更改解释器: - 打开命令面板 (`Ctrl+Shift+P`) - 输入 `Python: Select Interpreter` - 从列表中选择合适的解释器版本 一旦选择了正确的解释器,应该能够看到底部状态栏显示所选解释器的信息。此时再次尝试导入 pytest 应不再抛出异常[^4]。 #### 方法三:利用图形界面工具安装包 对于不熟悉命令行操作的开发者来说,在 IDE 内部管理依赖项可能更加直观友好。例如,在 PyCharm 中可以按照如下路径来查找和安装缺少的库: - 进入文件菜单下的项目设置部分; - 寻找 Python 解释器选项卡; - 查看已安装软件包列表,如果没有 pytest 则可通过点击加号按钮进行安装[^3]。 虽然此描述基于 PyCharm,但在其他支持插件扩展功能的强大编辑器如 Visual Studio Code 上也有类似的机制可用。 #### 示例代码验证安装成功与否 为了测试是否正确解决了问题,可以在工作区创建一个新的 .py 文件,并输入简单的单元测试脚本以调用 pytest 函数: ```python def test_addition(): assert 1 + 1 == 2, "Simple addition should work" if __name__ == "__main__": import pytest pytest.main() ``` 保存文件后右键选择“Run Python File in Terminal”,观察输出结果即可判断是否正常加载了 pytest 并完成了预期的功能测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值