Python Azure自托管代理运行pytest
我已经在本地VM上安装了一个自托管代理,它已连接到azure,没有问题。 我在azure DevOps上有一个python代码 我已经将所有requirements.txt需求手动安装到本地VM的cmd行中,这样安装在本地VM上的自托管代理就不必安装它们(以最大限度地减少构建和部署时间) 但当我在YAML文件中有下面的代码来运行pytest用例时,由于下面的错误,管道失败了 这是我的Yaml文件Python Azure自托管代理运行pytest,python,azure,azure-devops,pytest,Python,Azure,Azure Devops,Pytest,我已经在本地VM上安装了一个自托管代理,它已连接到azure,没有问题。 我在azure DevOps上有一个python代码 我已经将所有requirements.txt需求手动安装到本地VM的cmd行中,这样安装在本地VM上的自托管代理就不必安装它们(以最大限度地减少构建和部署时间) 但当我在YAML文件中有下面的代码来运行pytest用例时,由于下面的错误,管道失败了 这是我的Yaml文件 触发器: -主人 变量: python.version:3.8.6 阶段: -阶段:建造 工作: -
触发器:
-主人
变量:
python.version:3.8.6
阶段:
-阶段:建造
工作:
-工作:建造
游泳池:
姓名:'Maitza'
#游泳池:
#vmImage:“windows最新版本”#windows最新版本或windows-2019;vs2017-win2016#https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml#软件#vs2017-win2016
步骤:
-任务:UsePythonVersion@0
投入:
versionSpec:“$(python.version)”
displayName:'使用Python$(Python.version)'
-脚本:“pip安装pytest pytest azurepipelines;pytest单元_测试/'
这就是错误所在
---------------开始:使用Python 3.8.6
------------------------------任务:使用Python版本说明:使用工具缓存中指定的Python版本,可以选择将其添加到路径版本:0.151.4作者:Microsoft Corporation帮助:
-------------------------------------------[错误]体系结构x64的版本规范3.8.6与Agent.ToolsDirectory中的任何版本都不匹配。C:\CodeVersions\u工具中的版本:
如果这是Microsoft托管的代理,请检查此映像是否支持Python的并行版本。如果这是一个自托管代理,请参阅如何在上配置并行Python版本。整理:使用Python
3.8.6
---------------
你听懂了吗
所需的Python版本必须添加到自托管代理上的工具缓存中,以便任务使用它。通常,工具缓存位于代理的_work/_tool目录下,或者路径可以由环境变量agent_TOOLSDIRECTORY
覆盖。在该目录下,根据Python版本创建以下目录结构:
包括@Krzysztof Madej的建议,您还可以尝试重新启动自托管代理服务。此错误表示Python不在代理工具目录中,因此代理无法使用 以下是使用Python设置工具目录的(不完整)详细信息: 上述文档中的神秘之处在于,它们所指的“工具文件”是什么 谢天谢地,GitHub上的jrm346通过源代码来解决这个问题;对于Linux,您需要从源代码处编译Python并重新配置目标目录: 对于Python 3.8:
└── 3.8.0
├── x64
└── x64.complete
/configure--enable optimizations
”之后运行命令“/configure--prefix=/home/azure/\u work/\u tool/Python/3.8.0/x64
”,将“/home/azure/\u work/\u tool”替换为代理的工具目录位置:
您是否浏览了下面的链接?是否查看了我们的回复?你的问题进展如何?问题解决了吗?