Python 名称错误:名称';蟒蛇3';未定义[Jenkins]
我有一个非常简单的任务要做。 我已经编写了一个脚本Python 名称错误:名称';蟒蛇3';未定义[Jenkins],python,jenkins,Python,Jenkins,我有一个非常简单的任务要做。 我已经编写了一个脚本job.sh来调用python脚本 #!/bin/bash python3 pythonscript/script.py 我希望这个script.py每小时运行一次,所以我在Jenkins的帮助下在项目中配置了job.sh 运行job.shstandalone可以正常工作,但在Jenkins中运行相同的程序时会显示错误: NameError: name 'python3' is not defined Build step 'Execute s
job.sh
来调用python脚本
#!/bin/bash
python3 pythonscript/script.py
我希望这个script.py
每小时运行一次,所以我在Jenkins的帮助下在项目中配置了job.sh
运行job.sh
standalone可以正常工作,但在Jenkins中运行相同的程序时会显示错误:
NameError: name 'python3' is not defined
Build step 'Execute shell' marked build as failure
Finished: FAILURE
script.py中的内容:
for i in range(30):
print("PRINTING FROM PYTHON SCRIPT")
我有两个问题:
1) How to resolve the above error
2) The Jenkins job runs in a different folder lets say `(jenkins/jobs/job131.sh)` and my `script.py` is somewhere else `(pythonscript/script.sh)`. How to give the absolute path to my script so that `job.sh` will invoke it without any issue.
问题1
备选案文1:
尝试更改shebang,以便它可以使用特定版本的Python运行
#!/usr/bin/python2.6
备选案文2:
尝试将其作为python2而不是python3运行
python pythonscript/script.py
问题2
您可以使用
pwd
获取脚本的绝对路径。然后您可以将其添加到jenkins脚本中。您是否碰巧检查了jenkins上的Python版本?@Sashi How to?我不能把它作为评论写下来,所以我把它作为回答写了下来。试试看,现在已经解决了。谢谢但问题2尚未解决。你能帮个忙吗?啊,对不起,不知怎么错过了那个问题。你的文件结构是什么样的?我通常会使用相对路径。常规ubuntu文件结构。Jenkins作业深入/bin或/tmp内部。我的脚本在另一个文件夹中。更新了答案,请尝试:)谢谢。一切正常,詹金斯找到了文件并试图运行它。但我得到了一个错误:在script.py中找不到“main”模块