通过MS DevOps运行管道时如何在自托管(Linux Ubuntu 18.04)代理上指定python版本

时间:2020-10-27 12:25:55

标签: python azure-pipelines azure-devops-self-hosted-agent azure-pipelines-yaml

我试图通过MS DevOps使用Yaml管道运行一个简单的bash脚本。我想使用python版本3.8。通过SSH连接到自托管代理时,我可以运行yaml文件中指定的脚本,而不会出现任何问题。但是,当我通过管道运行脚本时,它失败了,因为出于某种原因,python别名是指Python 2.7.17。

我尝试在.bashrc用户的agentsvcbash.bashrc文件的alias python='python3.8'中都设置以下别名:

我意识到我可以在脚本中将python更改为python3.8,但是我不想这样做。有谁知道为什么别名在管道环境中不起作用以及我该如何解决?

这是我尝试运行的yaml管道的示例:

pool: myubuntuagent

trigger:
  - master

steps:
  - script: |
      # install pre-requisites
      whoami
      python -V
      python -m pip install -r requirements.txt
    workingDirectory: '$(System.DefaultWorkingDirectory)'
    displayName: 'Install Prerequisites etc. etc. etc.'

1 个答案:

答案 0 :(得分:0)

作为一种解决方法,我们可以在cmd下面尝试使用Python3.x版本

python3 -V
python3 -m pip install -r requirements.txt

结果:

enter image description here

此外,我们可以使用任务Use Python version指定python版本。您可以参考此doc来配置您的自托管代理以使用此任务。

结果:

enter image description here