无法在 repo 的 unittest 文件夹中导入 Flask 应用程序文件夹

Unable to import flask app folder in unittest folder of an repo

我在为我的 Flask 应用程序编写单元测试时遇到问题。确切的问题是单元测试目录中的测试文件无法从应用程序文件夹导入文件。 我的目录结构:

.
├── Dockerfile
├── README.md
├── app
│   ├── __init__.py
│   ├── api.py
│   └── wsgi.py
├── docker
│   ├── docker-compose.yml
│   └── start.sh
├── requirements.txt
└── unit-test
    ├── __init__.py
    └── test_api.py

unit-test/test_api.py 中的代码:

import unittest
from app import api

绝对导入抛出此错误: from app import api ModuleNotFoundError: No module named 'app'

在检查了一些绝对和相对导入的资源后,我尝试了以下方法,none 有效。

from .. import app

错误: from .. import app ImportError: attempted relative import with no known parent package 我检查了一些关于 SO 的问题,有人建议在 unit-test 文件夹中也有 _init_.py 文件,但我已经有一个空白 init.py在那里归档。 我已经查看了许多博客和 youtube 教程,绝对导入很容易为他们工作。 请告知如何修复此错误和 运行 单元测试。

import sys
sys.path.append('/path/to/the/required/folder')
import name_of_file

如果不是内置包,Python 仅在您尝试导入时在当前目录中搜索,因此我们必须添加此路径,以便它也能在这个特定文件夹中查找。添加后,您可以简单地进行导入。