python - ModuleNotFoundError: No module named 'Src' - 当我运行 Pytest
问题描述
我正在构建一个不和谐的机器人,但在导入带有我想要测试的功能的代码时遇到了麻烦。
当我运行 MemberRepositoryTest.py 文件时,它给了我以下错误:
ModuleNotFoundError: No module named 'Src'
MemberRepositoryTest.py (/Tests/Src/Repositories/)
import pytest
from Src.Repositories import MemberRepository # <--- This line is failing.
# TODO: Implement tests
我的文件夹结构是这个链接上的 - https://imgur.com/a/Rh65iJY
测试结构为:
Tests/Src/Repositories/MemberRepositoryTest.py(镜像源)
我不确定为什么它没有找到我的模块,所以我可以导入类和函数。
根据我的在线研究,我认为我的init .py 文件可能有问题。但是,作为 Python 新手,我并不完全理解这一点。我阅读了 Python 文档,其中解释了它创建了一个包,其中包含文件作为模块。这意味着我已将目录中的每个文件导入到init .py 文件中。但是,我仍然遇到这个问题。
初始化文件(在根目录上):
import Src
初始化文件(/Src/):
import Cogs
import Entities
import Models
import Queries
import Repositories
import AppConfig
import DatabaseConnection
初始化文件(/Src/Repositories):
import GuildRepository
import MemberRepository
我从项目的根目录(documents/rush_bot)运行它。我运行来执行测试文件的命令是pytest Tests/Src/Repositories/MemberRepository.py
我的 Python 路径环境是:
C:\WINDOWS\SYSTEM32\python27.zip
C:\Python27\DLLs
C:\Python27\lib
C:\Python27\lib\plat-win
C:\Python27\lib\lib-tk
C:\Python27
C:\Python27\lib\site-packages
解决方案
Python 找不到您的包,因为它不在 PYTHONPATH 中。
您可以将项目文件夹添加到 PYTHONPATH 或 .
. 如果添加.
,那么 Python 将始终在当前目录中查找包。
顺便说一句,在这个 Init 文件 (/Src/Repositories) 中,您正在导入没有完整路径的模块。
import Src.Repositories.GuildRepository
import Src.Repositories.MemberRepository
推荐阅读
- ios - Rails 6提示在移动设备上下载
- google-cloud-platform - 如何在 Google Colab 中挂载 GCP 存储桶
- haskell - Haskell初学者数组创建
- android - 如何为 cognito IAM 角色分配对 AWS KMS 服务执行 ListKeys 操作的权限?
- flutter - 如何为具有多种颜色颤动的文本颜色设置动画
- ios - Firebase Crashlytics 设置 iOS 中的问题?
- r - R:在数据框中,使用因子变量的级别时出现错误
- reactjs - 为什么按钮仅在第二次单击后才起作用?(反应)
- android-studio - Android Studio,我无法用 AMD 安装 HAXM
- javascript - 无需赋值即可捕获变量使用的 Eslint 规则