Windows10环境下Jenkins无法运行Python脚本的问题求助
Jenkins自由风格任务中Python脚本无响应的排查与解决经验
我用Jenkins有好几年了,最近换了Windows 10电脑,装了Jenkins 2.89.2、Visual Studio 2017和Python 3.6,还把原来Windows 7上的一堆Jenkins任务迁了过来。结果遇到个头疼的问题:所有自由风格任务里的Python脚本都完全没响应,但在新电脑的命令行里直接跑调用这些脚本的批处理文件却一切正常。
初步排查与临时解决
一开始我以为是文件关联的问题,用ftype命令检查并修改了关联:
ftype Python.File Python.File="D:\Python36_64\python.exe" "%L" %*
但还是没解决。无奈之下只能用临时办法:原来在Windows 7里直接执行CreateBuildNumber.py就能通过PATH找到文件并关联运行Python,现在Windows 10里必须改成python .\Scripts\CreateBuildNumber.py,靠PATH找到Python来执行——但我真的不想在脚本里写死路径啊。
深入排查
后来我又做了这些检查:
- 执行
D:\project>assoc | findstr -i python,显示.py等后缀的关联都是正常的; - 输出
echo %PATH%,确认路径里包含D:\Python36_64和D:\Python36_64\Scripts; - 我试着把%PATH%里的
.\Scripts去掉,然后把demo.py移到这个目录,结果任务报错:'demo.py' is not recognized as an internal or external command, operable program or batch file——这说明系统能找到脚本,但就是没法通过关联来执行。
意外的解决结果
本来还在头疼怎么彻底解决,结果突然发现所有任务都正常运行了:那些没做修改的旧任务自己好了,之前改了的任务改回原来的写法也正常工作了。想来想去,应该是Windows 10自动安装了某个补丁,修复了这个文件关联的问题。
内容的提问来源于stack exchange,提问作者quamrana
相关产品推荐
相关产品推荐

