将本地分支合并至VSTS服务器目标分支失败:python2未找到
嘿,咱们来搞定这个VSTS合并分支时找不到python2的问题。既然本地发布一切正常,那问题肯定出在处理合并作业的VSTS代理服务器环境上——本地有python2但代理那边没配置好。给你几个实用的解决办法:
检查VSTS代理的Python环境
先确认执行合并任务的VSTS代理机器上有没有装Python2。如果没装,直接在代理机器上安装Python2,并且把安装路径添加到系统的PATH环境变量里,这样作业就能找到python2命令了。在合并流水线里显式指定Python路径
如果代理机器已经装了Python2,但路径没加到PATH里,或者你不想改系统环境变量,可以在合并的流水线步骤里直接用Python2的完整路径来执行脚本,比如Windows代理的话用:C:\Python27\python.exe 你的脚本名.py要是Linux代理,路径可能是
/usr/bin/python2或者你实际安装的路径,根据情况调整就行。用Python工具安装任务配置环境
在VSTS的合并流水线里加一个「Python工具安装器」任务,选择Python2的对应版本,让流水线自动在代理上配置好Python2的环境变量,这样后面的步骤就能直接调用python2命令了。这个方法不用手动改代理机器的设置,适合团队共用的代理环境。检查合并作业的脚本配置
再看看触发合并时执行的脚本里,是不是硬写了python2命令?有些本地环境里python其实指向的是Python2,但VSTS代理上python可能指向Python3。这种情况下,要么把脚本里的python2改成python(如果能把代理上的Python2设为默认),要么改成python3(只要脚本兼容Python3就行)。
内容的提问来源于stack exchange,提问作者Parveen

