GitLab CI/CD中Google Cloud SDK镜像安装Python后命令未找到问题
问题原因
你遇到的python: command not found错误,核心原因是Debian/Ubuntu系镜像中,安装Python 3后默认只提供python3命令,没有python这个别名。你装了python3.10,但系统里并没有把python指向python3.10的软链接,所以直接调用python会找不到命令。
解决办法
以下几种方案都能解决问题,选适合你的即可:
方案1:直接使用python3命令执行脚本
最简单的方式,不需要额外配置,把script阶段的命令改成:
python3 test.py
方案2:安装时同步配置python别名
在before_script里安装Python的同时,安装python-is-python3包,这个包会自动把python软链接到系统默认的python3:
before_script: # 更新源并安装Python及别名包 - apt-get update && apt-get install -y --no-install-recommends python3.10 python-is-python3 # 这里继续执行你的gcloud相关操作 script: - python test.py
方案3:手动创建软链接
如果需要指定绑定到python3.10,可以手动创建软链接:
before_script: - apt-get update && apt-get install -y --no-install-recommends python3.10 # 建立python指向python3.10的软链接 - ln -s /usr/bin/python3.10 /usr/bin/python # 执行gcloud操作 script: - python test.py
方案4:用update-alternatives管理默认Python(更规范)
如果需要在多个Python版本间切换,用这个方法更灵活:
before_script: - apt-get update && apt-get install -y --no-install-recommends python3.10 # 将python3.10注册为默认python选项 - update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1 # 执行gcloud操作 script: - python test.py
额外注意
- 安装时加上
--no-install-recommends可以减少不必要的依赖安装,加快CI流水线速度。 - 确保
apt-get update命令执行成功,否则可能找不到python3.10的安装包。
内容的提问来源于stack exchange,提问作者ZeeshanShareef
相关产品推荐
相关产品推荐

