GitHub操作的Python测试文件结构

GitHub操作的Python测试文件结构,python,python-3.x,github-actions,Python,Python 3.x,Github Actions,我有以下目录结构: main_dir/ |--.git/ |--.github/ |--workflows/ |--main.yml |--package/ |--__init__.py |--config.py |--tests/ |--pytest.ini |--test_config.py 在test/test\u config.py中,第一行从conf

我有以下目录结构:

main_dir/
    |--.git/
    |--.github/
        |--workflows/
            |--main.yml
    |--package/
        |--__init__.py
        |--config.py
    |--tests/
        |--pytest.ini
        |--test_config.py
test/test\u config.py
中,第一行从config.py文件导入一个类:

from package.config import Config

这些测试在本地运行时可以工作,但是在GitHub操作中,我得到了错误
ModuleNotFoundError:没有名为“package”的模块
。两者的工作目录相同(main_dir)。我哪里出错了?

您的IDE应该将您的项目添加到python路径中

您可以使用以下代码段将其添加到脚本中:

import os
current_dir = os.path.dirname(os.path.realpath(__file__)))
working_dir = os.path.join(current_dir , "..")

import sys
sys.path.append(working_dir)
现在,您可以在python路径中使用

from package.config import Config
要知道python路径中存在什么,只需打印
sys.path

最佳做法是直接将工作目录添加到路径中


如何运行此文件?您是否可能通过某个IDE在本地运行它,并作为GH操作上的
python test/test\u config.py
?在本地,我使用pycharm,将配置选项
target
Working Directory
设置为
main\u dir
。在GH操作中,我让pipenv运行pytest
这是否回答了您的问题@Termiyagi先生,这就成功了!添加
\uuuu init\uuuuu.py
是有效的,尽管我也觉得它不应该存在。谢谢你的答案和资源,肯定有一些阅读起来做!