【发布时间】:2019-07-30 01:05:53
【问题描述】:
来自 Jenkins 管道无法运行 python 脚本。 Jenkins 和 python 脚本位于 aws ec2 实例上
将 sn-p 添加到 Jenkins Pipeline 节点,jenkins 能够运行 make 文件(意思是,它可以开始执行 makefile)但是在 jenkins 控制台输出中,它会出现 Python modules not found 错误。相同的 make 文件在 ec2 实例上运行良好。
node {
stage('Deploy') {
sh "(make -f /var/lib/jenkins/workspace/test-build-job/runpy)"
}
}
*******************************************
runpy makefile:
SHELL := /bin/bash
run:
nohup /usr/bin/python3 /var/lib/jenkins/workspace/test-build-job/aaa.py 2>&1 > aaa.out &
nohup /usr/bin/python3 /var/lib/jenkins/workspace/test-build-job/bbb.py 2>&1 > bbb.out &
******************************************
Error in the console output:
ModuleNotFoundError: No module named 'flask'
******************************************
Printed sys.path from py:
When run on EC2:
/var/lib/jenkins/workspace/test-build-job', '/usr/lib64/python3.6', '/usr/lib64/python3.6/lib-dynload', '/home/ec2-user/.local/lib/python3.6/site-packages', '/usr/local/lib64/python3.6/site-packages', '/usr/local/lib/python3.6/site-packages', '/usr/lib64/python3.6/dist-packages', '/usr/lib/python3.6/dist-packages
/var/lib/jenkins/workspace/test-build-job', '/usr/lib64/python3.6', '/usr/lib64/python3.6/lib-dynload', '/usr/local/lib64/python3.6/site-packages', '/usr/local/lib/python3.6/site-packages', '/usr/lib64/python3.6/dist-packages', '/usr/lib/python3.6/dist-packages
-------'/home/ec2-user/.local/lib/python3.6/site-packages' 在 jenkins 运行中丢失(我可以在这个位置看到 Flask)
--- 使用sys.path.append("/home/ec2-user/.local/lib/python3.6/site-packages")在.py 中添加路径
没有帮助,仍然看到找不到模块错误:(
【问题讨论】:
标签: python shell jenkins jenkins-pipeline