我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

熟悉苏南大叔的文章的读者,可能会发现:最近的一些文章的截图显示:苏南大叔的.py文件已经放到pycharm里面运行了。但是苏南大叔并没有在文章里面特别写明pycharm的事情,直到最近,苏南大叔发现一个只出现在pycharm里面的诡异问题。

苏南大叔:pycharm运行py文件时,如何处理E fixture not found的问题? - pycharm-fixture-not-found
pycharm运行py文件时,如何处理E fixture not found的问题?(图7-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验文章。本文描述在pycharm运行py文件的时候,如何解决E fixture not found的错误提示问题。测试环境:win10python@3.68pycharm@2023.2propytest@5.3.2

本文的测试环境,需要再次强调一下。苏南大叔的电脑里面,确实有两个python,一个是python@3.6.8,另外一个是python@3.11.0

普通的代码

python代码如下,普通的不能再普通:

def test1(a):
    print(a)

test1("aaa")

在命令行下面执行,不报错。在vscode里面也可以正常执行。直接在命令行下指明python@3.6.8路径,也不报错。

苏南大叔:pycharm运行py文件时,如何处理E fixture not found的问题? - 正常执行时
pycharm运行py文件时,如何处理E fixture not found的问题?(图7-2)

pycharm下报错

pycharm下执行上述代码的时候,却报错了。报错信息是:

t9.py::test1 ERROR                                                       [100%]
test setup failed
file C:\Users\sunan\Desktop\demo\py\t9.py, line 1
  def test1(a):
E       fixture 'a' not found
>       available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, monkeypatch, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory
>       use 'pytest --fixtures [testpath]' for help on them.

苏南大叔:pycharm运行py文件时,如何处理E fixture not found的问题? - pycharm运行错误
pycharm运行py文件时,如何处理E fixture not found的问题?(图7-3)

pytest的原因

究其原因,就是苏南大叔的pycharm配置的interpreterpython@3.68。这个路径下的scripts目录下面有个pytest.exe

苏南大叔:pycharm运行py文件时,如何处理E fixture not found的问题? - pytest
pycharm运行py文件时,如何处理E fixture not found的问题?(图7-4)

pytest生效,被默认启动的其中一个场景就是:函数名中带有test字样。这不就是属于刷新认知了么。

苏南大叔:pycharm运行py文件时,如何处理E fixture not found的问题? - scripts-pytest-exe
pycharm运行py文件时,如何处理E fixture not found的问题?(图7-5)

临时解决方案

本文仅仅是个临时解决方案,并不完美。毕竟苏南大叔还没有对这个pytest进行系统的研究。所以,临时的解决方案就是:
【方案一】

这是付费可看内容,收费5元。

【方案二】
更换不带pytestpython解释器,比如苏南大叔系统里面的python@3.11.0

苏南大叔:pycharm运行py文件时,如何处理E fixture not found的问题? - 修改解释器1
pycharm运行py文件时,如何处理E fixture not found的问题?(图7-6)

苏南大叔:pycharm运行py文件时,如何处理E fixture not found的问题? - 修改解释器2
pycharm运行py文件时,如何处理E fixture not found的问题?(图7-7)

结束语

python博大而精深,更多python经验文章,请点击下面的链接查看:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python