我正在学习使用GitHub操作实现自动测试。我正在试图解决以下导入错误。
错误是:
utils\test_capitalize.py:2: in <module>
from src.capital import capital_case
E ModuleNotFoundError: No module named 'src'
我的存储库的结构是:
example/
|-- setup.cfg
|-- setup.py
|-- pyproject.toml
|-- .github/
| |-- workflows/
| | |-- ci.yml
|-- src/
| |-- capital.py
|-- utils/
| |-- test_capitalize.py
ci.yml
的内容如下:
name: ci
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build-and-test:
runs-on: windows-latest
strategy:
matrix:
python-version: [3.8]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Build
run: |
python -m pip install .
python -m pip install src
- name: Test with pytest
run: |
python -m pip install pytest
pytest
我认为python -m pip install .
已经安装了存储库中的所有模块,我对此有误解吗?
编辑: pytest文件是一个最小的例子(我已经尝试过在推送之前删除src ):
import pytest
from src.capital import capital_case
def test_capital_case():
assert capital_case('semaphore') == 'Semaphore'
发布于 2022-05-10 07:17:39
在导入模块之前,将这些行包含在脚本的标题中。
import sys
sys.path.append("../")
https://stackoverflow.com/questions/69395240
复制相似问题