python - 无法从文件夹导入模块
问题描述
我使用 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 的情况下包含一个模块。
解决方案
您可能希望将 PYTHONPATH 设置为该project
目录。在 StackOverflow 论坛或Python 官方网站上的讨论中了解更多信息。
推荐阅读
- android - 无法同步 Gradle 项目并显示消息“读取超时”
- rxjs - 无法将 Observable 转换为 ConnectableObservable
- php - wp_query wordpress
- java - 我想创建一个包含我所有函数的 .class 文件。我无法编译它。我应该进口什么?
- c# - 我正在处理仅包含 3 个字段的新用户注册表单,用户名、密码和确认密码
- sql - 使用 ADO.net 将 100000 条记录从数据库绑定到 asp.netmvc 中的数据表时出现问题
- c# - 如何返回对结构列表中特定结构的引用?
- c# - 多个 webapi 的 IIS 重定向问题
- authentication - 为 xampp phpmyadmin 设置登录选项的问题
- ios - 在 UITableViewCell 中将隐藏设置为 false 后,辅助功能检查器看不到 UIImageView