VSCode中使用pytest配置Python测试出现模块导入错误如何解决
你遇到的报错是因为VSCode的Python测试插件默认运行pytest时,不会自动将项目根目录加入Python模块搜索路径,和你手动在命令行执行时的运行环境不一致导致的,以下是无需使用命令行的解决方案:
方案1:新增pytest配置文件(推荐,全局生效不绑定VSCode)
在项目根目录(最外层的PACKAGENAME文件夹)下新建名为pytest.ini的文件,写入以下内容:
[pytest] pythonpath = .
保存文件后,点击VSCode测试面板左上角的刷新按钮,重新加载测试即可。
方案2:修改VSCode工作区配置
- 按下
Ctrl+,(Windows/Linux)或Cmd+,(Mac)打开设置面板,切换到「工作区」标签,避免修改全局配置影响其他项目 - 搜索
python.terminal.executeInFileDir,取消勾选该选项,保证测试运行时的工作目录为项目根目录 - 搜索
python.testing.pytestArgs,点击对应选项下的「在settings.json中编辑」,在打开的配置文件中添加以下配置:"python.testing.pytestArgs": [ "--rootdir", "." ] - 按下
Ctrl+Shift+P,输入「重载窗口」,选择对应选项重启VSCode窗口即可。
方案3:新增环境变量配置文件
在项目根目录下新建名为.env的文件,写入以下内容:
PYTHONPATH=.
VSCode的Python扩展会自动加载该文件内的环境变量,将项目根目录加入模块搜索路径,重载窗口后即可正常运行测试。
内容的提问来源于stack exchange,提问作者Jamie Mair
相关产品推荐
相关产品推荐

