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

GitLab CI Runner运行RobotFramework报cannot import 'run_cli'错误

问题原因
  • 最常见诱因:安装了错误的robot包,而非Robot Framework官方包。PyPI平台存在两个极易混淆的同名相关包:一个是和自动化测试完全无关的第三方工具包robot,另一个才是Robot Framework测试框架的正式安装包robotframework。你本地环境安装的是正确的robotframework,但Docker镜像构建过程中要么依赖声明写错、要么优先级被错误的robot包覆盖。
  • 版本不匹配:run_cli是Robot Framework 3.2及以上版本才提供的接口,如果Docker镜像内安装的Robot Framework版本低于3.2,也会触发导入失败。
  • 路径冲突:镜像内可能存在多个Python环境,或者项目根目录下有同名的robot.py文件、robot命名目录,导入时会优先读取本地文件,覆盖site-packages中的官方包。
解决方案
  1. 先验证当前环境的包安装状态,在run-test.sh最开头增加以下命令打印包信息:
pip show robot
pip show robotframework

如果pip show robot有输出结果,说明确实安装了冲突的无关包,先执行卸载:

pip uninstall -y robot
  1. 修正requirements.txt的依赖声明,确保写的是正确的Robot Framework包,建议指定兼容版本,例如:
    robotframework>=6.0
    禁止直接写robot作为依赖项。
  2. 检查项目根目录下是否存在名为robot.py的文件或者robot命名的目录,如果有需要重命名,避免导入优先级冲突。
  3. 优化Dockerfile安装逻辑,提前清理冲突包再安装依赖:
FROM python:3.9
ARG CI_COMMIT_REF_NAME=master
WORKDIR /app
COPY . .
# 先卸载冲突包再安装正式依赖
RUN pip uninstall -y robot && \
    pip install [Repository] && \
    pip install -r requirements.txt
  1. 也可以直接使用Robot Framework官方可执行命令启动任务,替换原有的python -m robot命令,降低导入冲突概率:
    robot --include staging_lp_items

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:54:05