You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions中poetry install仅安装依赖未安装当前项目如何解决

问题根因

该问题核心是CI环境中的Poetry未将本地开发的monaco包安装到虚拟环境内,导致pytest运行时无法找到对应模块。本地执行正常、CI执行异常,通常是Poetry版本差异、配置项默认值不同导致的自动包探测逻辑不一致。

解决方案

按以下优先级操作即可解决:

  1. 补全pyproject.toml配置
    在项目根目录的pyproject.toml的[tool.poetry]段落中,显式指定要包含的包路径,避免Poetry自动探测失效:
    [tool.poetry]
    name = "monaco"
    version = "0.1.0"
    # 其他原有配置保持不变
    packages = [{include = "monaco"}]
    
  2. 固定Poetry版本保证环境一致
    将CI中安装Poetry的步骤指定为和本地完全相同的版本,避免版本差异导致的行为不一致,可在本地执行poetry --version查询当前使用的版本:
    - name: Install Poetry
      uses: snok/install-poetry@v1
      with:
        version: 1.8.3 # 替换为你本地实际的Poetry版本
    
  3. 兜底方案:强制安装本地包
    如果上述配置修改后仍有问题,在poetry install步骤后新增一步,直接用pip强制将当前项目以可编辑模式安装到虚拟环境中,该方案不受Poetry配置影响:
    - name: Install local package
      run: poetry run pip install -e .
    

修改后完整workflow配置示例

name: Unit Tests
on:
  push:
    branches:
      - master
      - develop
  pull_request:
    branches:
      - master
      - develop

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Check out repository
        uses: actions/checkout@v4
      
      - name: Set up python
        uses: actions/setup-python@v5
        with:
          python-version: 3.9

      - name: Install Poetry
        uses: snok/install-poetry@v1
        with:
          version: 1.8.3 # 替换为本地实际Poetry版本

      - name: Install library
        run: poetry install

      - name: Install local package
        run: poetry run pip install -e .

      - name: Run tests
        run: poetry run pytest

内容的提问来源于stack exchange,提问作者Scott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 00:57:04