我刚刚将我的程序从 python2 转换为 python3。一切都在我的电脑上检查。当我运行 pytest 时,它工作正常。
当我提交到 github 并 circleci 测试它时,它得到:
ImportError while loading conftest '/home/circleci/project/tests/conftest.py'.
tests/conftest.py:11: in <module>
from auto_profiler import *
auto_profiler.py:4: in <module>
from common import dbsettings
E File "/home/circleci/project/common/dbsettings.py", line 23
E params[k.lower()]=cgi.escape(v)
E ^
E TabError: inconsistent use of tabs and spaces in indentation
同样,当我在家用机器上运行 pytest 时,它工作正常。
当我浏览文件时,我没有找到任何选项卡。
为什么只有circleci抱怨?炸开的标签在哪里?
ETA:这是一个使用子回购的测试。我目前的理论是,circle 正在使用 sub-repo 的 master 分支,而不是它应该使用的 subRepo 的分支,(应该将其提交给 master Repo 分支,但也许不是?)
ETA2:我的circleci有:
version: 2
jobs:
build:
docker:
- image: circleci/python:3.7
steps:
- checkout
- run:
name: "Pull Submodules"
command: |
git submodule init
git submodule update --remote
这意味着它正在更新到主分支,对吗?