ModuleNotFoundError:没有名为“ Src”的模块-当我运行Pytest

时间:2019-09-17 19:27:22

标签: python python-3.x pytest python-import discord.py

我正在构建一个不和谐的bot,并且无法导入要测试的功能的代码。

当我运行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(镜像Src)

我不确定为什么找不到我的模块,所以我可以导入类和函数。

根据我的在线研究,我认为 init .py文件可能存在问题。但是,对于Python来说,我还不是很了解。我阅读了Python文档,该文档解释了它创建了一个包,其中的文件作为模块。这意味着我已经将目录中的每个文件导入到 init .py文件中。但是,我仍然遇到这个问题。

初始化文件(在根目录上):

import Src

初始化文件(/ Src /):

import Cogs
import Entities
import Models
import Queries
import Repositories
import AppConfig
import DatabaseConnection

初始化文件(/ Src /存储库):

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

1 个答案:

答案 0 :(得分:1)

Python无法找到您的软件包,因为它不在PYTHONPATH中。

您可以将项目文件夹添加到PYTHONPATH或.。如果您添加.,则Python将始终在当前目录中查找包。

顺便说一句,在此Init文件(/ Src / Repositories)中,您将导入没有完整路径的模块。

import Src.Repositories.GuildRepository
import Src.Repositories.MemberRepository