簡體   English   中英

無法從 Jenkins 管道運行 Python .py

[英]Unable to run Python .py from Jenkins pipeline

從 Jenkins 管道無法運行 python 腳本。 Jenkins 和 python 腳本位於 aws ec2 實例上

將代碼片段添加到 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 中添加路徑

沒有幫助,仍然看到模塊未找到錯誤:(

問題是,沒有安裝正在運行代碼的燒瓶模塊。

我假設代碼在 master 上運行,因為我在代碼中沒有看到代理聲明。 所以,看起來你的詹金斯大師沒有安裝所需的模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM