首页 > 解决方案 > 无法从文件夹导入模块

问题描述

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

project
|-- util
   | -- drivers.py
   | -- data.py
   | -- __init__.py
|-- test
   | -- driver_test.py
   | -- __init__.py
main.py

我想drivers.py从 util 文件夹导入到driver_test.py 我尝试像这样进行基本导入

from util.drivers import Driver

这不起作用,因为它找不到util模块,然后我使用另一种方法,将文件夹添加到sys.path. 像这样

# driver_test.py
sys.path.append(os.path.abspath('./util'))
import drivers

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

import drivers
ModuleNotFoundError: No module named 'drivers'

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

from selenium import webdriver
ModuleNotFoundError: No module named 'selenium'

Selenium 模块实际上工作正常,我只想为它和大多数进行正确的单元测试。我做错了什么,如何解决?是否可以在不sys.path使用 import 的情况下包含一个模块。

标签: pythonseleniumpython-unittest

解决方案


您可能希望将 PYTHONPATH 设置为该project目录。在 StackOverflow 论坛或Python 官方网站上的讨论中了解更多信息。


推荐阅读