如何从其他文件夹导入函数并使pytest正常运行?
解决pytest无法导入mylib模块的简单方法
针对你遇到的pytest找不到mylib模块的问题,以下几种简单方法可以解决:
方法一:临时设置PYTHONPATH运行pytest
在项目根目录(包含mylib、mytest、mymain.py的目录)下执行命令:
PYTHONPATH=. pytest
或者指定单个测试文件:
PYTHONPATH=. pytest mytest/test_one.py
这个命令会把当前目录(项目根)添加到Python的模块搜索路径中,让pytest能找到mylib。
方法二:在测试文件中添加路径配置
在test_one.py的最开头添加以下代码,手动将项目根目录加入搜索路径:
import sys from pathlib import Path # 获取项目根目录(当前测试文件的父目录的父目录) sys.path.append(str(Path(__file__).parent.parent))
添加后,不管你从哪个目录运行pytest,测试文件都能找到mylib模块。
方法三:将项目安装为可编辑模式(适合长期维护的项目)
在项目根目录执行以下命令,把mylib安装为Python的可编辑模块:
pip install -e .
这样mylib会被注册到Python的全局模块搜索路径中,不仅pytest,任何地方的Python代码都能直接导入mylib,而且修改mylib的代码会实时生效,不需要重新安装。
内容的提问来源于stack exchange,提问作者KansaiRobot
相关产品推荐
相关产品推荐

