【问题标题】:Circle-CI ImportError: Failed to import test module Python 3.7.0Circle-CI ImportError:无法导入测试模块 Python 3.7.0
【发布时间】:2020-06-16 16:54:05
【问题描述】:

我第一次尝试为我的应用程序设置 Circle-CI。这是一个基于 python 3.7.0 的应用程序,带有一些测试。该应用程序构建得很好,但在运行测试作业时失败。在本地测试工作正常,所以我假设我缺少一些 Circle-CI 配置?

这是我的 yaml:

version: 2.0
jobs:
  build:
    docker:
      - image: circleci/python:3.7.0
    steps:
      - checkout
      - run:
          name: "Run tests"
          command: python -m unittest

这是错误:

================================================ ========================

错误:tests.test_auth (unittest.loader._FailedTest)

ImportError:导入测试模块失败:tests.test_auth 回溯(最近一次通话最后): _find_test_path 中的文件“/usr/local/lib/python3.7/unittest/loader.py”,第 434 行 模块 = self._get_module_from_name(名称) _get_module_from_name 中的文件“/usr/local/lib/python3.7/unittest/loader.py”,第 375 行 进口(名称) 文件“/home/circleci/project/tests/test_auth.py”,第 5 行,在 从 werkzeug.datastructures 导入 MultiDict ModuleNotFoundError:没有名为“werkzeug”的模块

我错过了什么?

编辑:

我现在添加了pip install -r requirements.txt,但我现在得到了:

由于 EnvironmentError 无法安装软件包:Errno 13] Permission denied: '/usr/local/lib/python3.7/site-packages/MarkupSafe-1.1.1.dist-info '

编辑:

除了答案,这里是完整的 yaml 配置工作:

version: 2.0
jobs:
  build:
    docker:
      - image: circleci/python:3.7.0
    steps:
      - checkout
      - run:
          name: "Install dependencies"
          command: |
            python3 -m venv venv
            . venv/bin/activate
            pip install --upgrade pip
            pip install --no-cache-dir -r requirements.txt
      - run:
          name: "Run tests"
          command: |
            . venv/bin/activate
            python -m unittest

【问题讨论】:

    标签: python circleci circleci-2.0


    【解决方案1】:

    这只是意味着没有安装依赖项“werkzeug”。您可能需要安装单独需要的其他软件包。

    考虑将依赖项安装添加到 Dockerfile 中,如下所示

    RUN pip install --upgrade pip && \
        pip install --no-cache-dir -r requirements.txt
    

    如果您遇到权限被拒绝的问题,那么您的测试是由没有权限管理 python 的用户开始的。但它不太可能如此。

    【讨论】:

    • 是的,这就是问题所在,但我仍然必须通过创建虚拟环境的许可来解决这个问题。除了您的回答之外,我还将发布现在正在运行的 who 配置。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多