我已经安装了Windows代理,并且需要能够运行Python脚本。我知道我需要安装Python,但我不知道如何安装。
我将标准安装中的Python文件添加到
final
重新启动代理,但是现在怎么办?如何把它变成能力? 我想念的是什么?
编辑: 我需要运行此YAML任务
$AGENT_TOOLSDIRECTORY/
Python/
3.8.2/
x64/
{tool files}
x64.complete
答案 0 :(得分:1)
我已在 Windows 10 笔记本电脑上设置了自托管代理(我具有 管理员 访问权限),并且正在运行 Azure DevOps Express 2020。
我根据 Download and configure the agent 上的说明找到、下载并安装了代理。我使用了 vsts-agent-win-x64-2.170.1.zip
并将其设置为作为服务运行,(我猜任何手动运行它的人都需要仔细检查它是否在放映时间运行)。我还在 powershell 中以 admin 身份运行安装命令!
要安装 Python 版本,我需要从 ftp site at Python.org 下载适当的安装程序,例如。对于 3.7.9,我使用了 python-3.7.9-amd64.exe
。
然后我从命令行运行它(CMD 以管理员身份运行)without UI:
python-3.7.9-amd64.exe /quiet InstallAllUsers=0 TargetDir=$AGENT_TOOLSDIRECTORY\Python\3.7.9\x64 Include_launcher=0
(python docs 中提供了其他安装选项)
一旦完成,(它在后台运行,因此需要比初始命令更长的时间),您需要创建一个空的 {platform}.complete
文件(如 here 所述),在我的情况下是 x64.complete
。
然后就成功了!我确实为第一个版本重新启动了服务器,但是我已经添加了其他 python 版本,因为不需要。我的管道任务很简单:
steps:
- task: UsePythonVersion@0
displayName: 'Use Python $(python.version)'
inputs:
versionSpec: '$(python.version)'
(使用变量 python.version
将我们设置为版本列表 3.7.9, 3.8.8
)
对我来说一个关键要素是文件结构,其中文档说 {tool files}
这意味着 python.exe 文件和其他常见目录,如 Lib 和脚本。我最初将它们安装在一个不起作用的子目录中。所以它应该是这样的:
$AGENT_TOOLSDIRECTORY/
Python/
3.7.9/
x64/
Doc/
Lib/
Scripts/
python.exe
...etc...
x64.complete
老实说,我感到很欣慰,因为这没有太多麻烦。我放弃了让 Artifacts 在本地工作的尝试。根据我有限的经验,所有这些在云版本上都更容易、更好。还没有说服我的雇主采取这一飞跃但是...
答案 1 :(得分:0)
对于此问题,为了使用在本地计算机上安装的python版本。您要么需要指向cmd任务中的python.exe
物理路径。或在Powershell任务中手动将python.exe
路径添加到环境变量路径。例如:
要在Powershell任务中使用本地python:
$env:Path += ";c:\{local path to}\Python\Python38\; c:\{local path to}\Python\Python38\Scripts\"
python -V
要在CMD任务中使用python,
c:\{local path to}\Python\Python38\python.exe -V
c:\{local path to}\Python\Python38\Scripts\pip.exe install
因此,我认为要使用私有代理运行python脚本,只需确保将python安装在本地,然后指向python.exe路径即可。您可以参考此case了解详情。
答案 2 :(得分:0)
我添加了这4个任务,然后才能使用vs2017-win2016代理在管道上执行python:
使用Python 3.x
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.x'
使用Pip身份验证
steps:
- task: PipAuthenticate@1
displayName: 'Pip Authenticate'
使用命令行任务
steps:
- script: |
python -m pip install --upgrade pip setuptools wheel
failOnStderr: true
displayName: 'install pip for setup of python framework'
使用命令行任务
steps:
- script: 'pip install -r _python-test-harness/requirements.txt'
failOnStderr: true
displayName: 'install python framework project''s specific requirements'
希望有帮助