ModuleNotFoundError: No module named 'Src' - When I run a Pytest

ModuleNotFoundError: No module named 'Src' - When I run a Pytest

我正在构建一个 discord 机器人,但在导入包含我要测试的功能的代码时遇到问题。

当我 运行 我的 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

我的文件夹结构是这样的 link - 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