运行pytest时遇ModuleNotFoundError: No module named 'pybind11_tests'怎么办?
解决执行
pytest时出现ModuleNotFoundError: No module named 'pybind11_tests'的问题 在项目根路径执行
pytest命令时,触发错误:ModuleNotFoundError: No module named 'pybind11_tests'
以下是几种可行的解决方法:
安装pybind11测试依赖
这个错误大多是因为缺少pybind11的测试套件依赖。根据你的包管理器选择对应命令安装:# 使用pip安装 pip install pybind11[tests] # 使用conda安装 conda install -c conda-forge pybind11-tests验证Python环境一致性
保证运行pytest的Python环境和安装pybind11的环境是同一个,避免环境隔离导致的模块找不到问题:# 查看当前使用的Python路径 which python # 检查当前环境是否已安装pybind11相关测试包 pip list | grep pybind11手动添加测试模块路径(源码编译场景)
如果你是直接从pybind11源码仓库运行测试,需要把源码中的tests目录加入Python路径,再执行pytest:# 在项目根路径执行 export PYTHONPATH=$PYTHONPATH:./tests pytest排查pytest的模块识别问题
可以先执行pytest --collect-only命令,检查pytest是否能发现pybind11_tests模块,以此快速定位是路径问题还是依赖未安装的问题。
内容的提问来源于stack exchange,提问作者jsibs
相关产品推荐
相关产品推荐

