Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 名称错误:名称';蟒蛇3';未定义[Jenkins]_Python_Jenkins - Fatal编程技术网

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”模块