无法从文件夹导入模块

And*_*rew 5 python selenium python-unittest

我使用VSCODE作为编辑器,并且使用Python 3.7,我具有这种文件夹结构

project
|-- util
   | -- drivers.py
   | -- data.py
   | -- __init__.py
|-- test
   | -- driver_test.py
   | -- __init__.py
main.py
Run Code Online (Sandbox Code Playgroud)

我想drivers.py从util文件夹导入到driver_test.py 我试图做这样的基本导入

from util.drivers import Driver
Run Code Online (Sandbox Code Playgroud)

由于找不到util模块而无法正常工作,然后我使用了另一种方法,在中添加了一个文件夹sys.path。像这样

# driver_test.py
sys.path.append(os.path.abspath('./util'))
import drivers
Run Code Online (Sandbox Code Playgroud)

我对几个输出错误感到非常困惑。当我从控制台运行单元测试时,出现错误,提示找不到驱动程序

import drivers
ModuleNotFoundError: No module named 'drivers'
Run Code Online (Sandbox Code Playgroud)

如果我通过右键单击在vscode编辑器中运行测试文件Run current test file,则错误输出是不同的,即找不到drivers.py文件中包含的硒驱动程序

from selenium import webdriver
ModuleNotFoundError: No module named 'selenium'
Run Code Online (Sandbox Code Playgroud)

Selenium模块实际上运行良好,我只想为此进行大多数单元测试。我做错了什么以及如何解决?并且可以包括模块而无需sys.path仅通过导入使用。

max*_*xxy 1

您可能需要将 PYTHONPATH 设置为该project目录。有关更多信息,请参阅 StackOverflow 论坛或Python 官方网站上的讨论