gpt4 book ai didi

python - Pytest 正在搜索更高一级的 conftest

转载 作者:行者123 更新时间:2023-12-01 00:44:19 27 4
gpt4 key购买 nike

我正在尝试在计算机上运行 pytest,但 pytest 不断获取更高一级的 conftest。我正在使用的目录没有 __init__.py

17:09:36  /shared/functionaltests/kubernetesTests
17:09:36 + rm __init__.py
17:09:36 + ls
17:09:36 conftest.py
17:09:36 helper_functions.py
17:09:36 kubernetesTests.groovy
17:09:36 readme.txt
17:09:36 test_complete.py
17:09:36 + pytest ./
17:09:36 ImportError while loading conftest '/shared/functionaltests/conftest.py'.
17:09:36 ../conftest.py:8: in <module>
17:09:36 import functionaltests.panda_functions as pf
17:09:36 ../panda_functions.py:1: in <module>
17:09:36 import pandas
17:09:36 E ModuleNotFoundError: No module named 'pandas'

-Removed __init__.py
-launching pytest using py.test and python -m pytest
-using --rootdir=./

最佳答案

这是预期的行为,因为您没有明确指定根目录是什么(例如,将 pytest.ini 放入目录中)并放入 conftest.py 位于父目录中。 pytest 会向上父目录查找 pytest.ini,会遇到 conftest.py 并将该目录计为 rootdir 本身或 rootdir 的子目录。如果您想让 kubernetesTests 成为 rootdir,请在其中放置一个空的 pytest.ini:

touch /shared/functionaltests/kubernetesTests/pytest.ini`

现在父 conftest 将不会被加载。

另一个解决方案是通过将 /shared 添加到 sys.path 来修复导入:

PYTHONPATH=/shared pytest

现在 /shared 仍然是根目录(应该如此),并且父 conftest.py 已加载并执行。

关于python - Pytest 正在搜索更高一级的 conftest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57102740/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com