我有以下目录结构:
main_dir/
|--.git/
|--.github/
|--workflows/
|--main.yml
|--package/
|--__init__.py
|--config.py
|--tests/
|--pytest.ini
|--test_config.py
在test/test_config.py
中,第一行从config.py文件导入一个类:
from package.config import Config
这些测试在本地运行时有效,但在GitHub Actions上我得到了错误ModuleNotFoundError: No module named '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
。
最佳做法是直接将工作目录添加到您的路径中。
- 在窗口上
- 在Linux上
- 在MAC上