Xcode Bot 预集成触发期间 Python 脚本失败

Posted

技术标签:

【中文标题】Xcode Bot 预集成触发期间 Python 脚本失败【英文标题】:Python script failing during Xcode Bot pre-integration trigger 【发布时间】:2014-12-27 05:23:43 【问题描述】:

我的预集成脚本运行如下:

export LANG=en_US.UTF-8
cd $XCS_SOURCE_DIR/ProjectName
./Script/prebuildscript.py

prebuildscript.py 是一个 Python 2 脚本,开头如下:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

success = subprocess.call([os.path.join(script_dir,'another_script.py')])

another_script.py 是一个 Python 3 脚本,带有以下 hashbang:

#!/usr/bin/env python3

在机器人的触发日志输出中,我看到以下错误:

env: python3: 没有这样的文件或目录

当我从终端提示符以我的帐户和 _xcsbuildd 运行/usr/bin/env python3 命令时,我得到了通常的>>> REPL 提示符。我做错了什么?

【问题讨论】:

【参考方案1】:

如果您在触发器的脚本中添加set 行,您将看到所有环境变量。很有可能,您的PATH 丢失了/usr/local/bin。更正触发器的脚本,如下所示:

export LANG=en_US.UTF-8
export PATH=/usr/local/bin/:$PATH
cd $XCS_SOURCE_DIR/ProjectName
./Script/prebuildscript.py

【讨论】:

以上是关于Xcode Bot 预集成触发期间 Python 脚本失败的主要内容,如果未能解决你的问题,请参考以下文章

集成后的 Xcode 6 Bot 将 .archive 文件下载到位置

xcode server bot存档导出方法

与 Xcode Bot 的持续集成

使用脚本触发 Xcode bot

Telegram Bot(用 python 编码)与 AWS API Gateway 集成

如何在集成脚本之前取消/中止 XCode Bot 集成