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
是有效的,尽管我也觉得它不应该存在。谢谢你的答案和资源,肯定有一些阅读起来做!