我有一个正在Azure管道中测试的Python脚本,如果将yaml文件编辑为以下代码,则该脚本可以正常工作:
- script: python Directory/test_script.py
我想使用PythonScript任务运行它,因为我需要将参数传递到脚本中,而似乎仅使用 - script
方法就不支持。
我的yaml文件包含:
inputs:
scriptSource: 'filePath'
scriptPath: python Directory/test_script.py
arguments: --hello world
管道执行时显示以下错误:
##[error]ENOENT: no such file or directory, stat '/home/vsts/work/1/s/python
如何使脚本正确执行,以便输入参数?我还尝试过更改workingDirectory
参数。
答案 0 :(得分:1)
如果您要运行python脚本,则可以使用实例Python Script
任务:
steps:
- task: PythonScript@0
inputs:
scriptSource: 'filePath' # Options: filePath, inline
scriptPath: $(Build.SourcesDirectory)/stackoverflow/45/script.py # Required when scriptSource == filePath
#script: # Required when scriptSource == inline
#arguments: # Optional
#pythonInterpreter: # Optional
#workingDirectory: # Optional
#failOnStderr: false # Optional
- bash: python $(Build.SourcesDirectory)/stackoverflow/45/script.py
- script: python $(Build.SourcesDirectory)/stackoverflow/45/script.py
您的错误是将python放在scriptPath: python Directory/test_script.py
中。这应该只有脚本路径,但您也要在此处放置python
,因此代理程序会尝试找到python文件夹。