恰如标题所述-我的文件夹结构是这样的:
venv/
__init__.py
.circleci/
config.yml
Dockerfile
docker-compose.yml
config.py
requirements.txt
src/
__init__.py
other_scripts.py
tests/
__init__.py
test_a.py
test_b.py
测试文件有from config import *
行。从本地根目录运行$ pytest
或通过bash shell运行到容器中(在virtualenv内),按预期方式运行,但是在CircleCI上,上述代码行的ImportError: No module named 'config'
构建失败。我正在使用python3.5和circleCI 2.0。
谢谢!
答案 0 :(得分:1)
如注释中所建议:从根目录中删除Sub TransferData()
Dim lr As Long
Application.ScreenUpdating = False
Sheet3.Cells.ClearContents
With Sheet2.[A1].CurrentRegion
.AutoFilter 42, "Y"
.EntireRow.Copy Sheet3.[A1]
.AutoFilter
End With
lr = Sheet3.Range("E" & Rows.Count).End(xlUp).Row
If lr <= 1 Then Exit Sub
Sheet3.Range("BA2:BA" & lr) = "=COUNTIF(HistoricalSVOS!$B:$B, DefectRate!$E:$E)"
Sheet3.Range("BB2").FormulaArray = "=SUMPRODUCT((($E$2:$E$226=E2))/COUNTIFS($E$2:$E$226,$E$2:$E$226&"""",$J$2:$J$226,$J$2:$J$226&""""))"
Sheet3.Range("BB2:BB" & lr).FillDown
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
,添加一个名为__init__.py
的空文件。
有关conftest.py
技巧的解释,请查看我对类似问题的其他答案,例如pytest cannot find module或Using pytest with a src layer。简而言之,添加conftest.py
会将项目目录添加到conftest.py
,因此sys.path
模块可以导入。
至于删除config
文件,它与错误无关,只是不属于该错误。当然,您不想将项目目录制作为软件包,因此尽早删除不需要的init模块将为您节省日后的意外错误。