pycharm运行py文件时,如何处理E fixture not found的问题?
发布于 作者:苏南大叔 来源:程序如此灵动~
熟悉苏南大叔的文章的读者,可能会发现:最近的一些文章的截图显示:苏南大叔的.py
文件已经放到pycharm
里面运行了。但是苏南大叔并没有在文章里面特别写明pycharm
的事情,直到最近,苏南大叔发现一个只出现在pycharm
里面的诡异问题。
苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验文章。本文描述在pycharm
运行py
文件的时候,如何解决E fixture not found
的错误提示问题。测试环境:win10
,python@3.68
,pycharm@2023.2pro
,pytest@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
下报错
在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.
pytest的原因
究其原因,就是苏南大叔的pycharm
配置的interpreter
是python@3.68
。这个路径下的scripts
目录下面有个pytest.exe
。
而pytest
生效,被默认启动的其中一个场景就是:函数名中带有test
字样。这不就是属于刷新认知了么。
临时解决方案
本文仅仅是个临时解决方案,并不完美。毕竟苏南大叔还没有对这个pytest
进行系统的研究。所以,临时的解决方案就是:
【方案一】
【方案二】
更换不带pytest
的python
解释器,比如苏南大叔系统里面的python@3.11.0
。
结束语
python
博大而精深,更多python
经验文章,请点击下面的链接查看:


