Device Farm解析失败:Appium Python性能测试脚本上传运行问题
解决AWS Device Farm中Wheel包格式不兼容的问题
我之前在AWS Device Farm部署Appium Python性能测试脚本时,也碰到过完全一样的wheel包格式问题,分享几个亲测有效的解决方法:
1. 强制下载指定平台的兼容Wheel包
manylinux1_x86_64格式的包其实是兼容linux_x86_64的,但Device Farm的依赖检测逻辑比较严格。你可以直接用pip指定平台参数,下载符合要求的包:
pip download --platform linux_x86_64 --only-binary=:all: --no-deps numpy
把这条命令里的numpy换成你需要的其他包,下载完成后,将这些wheel包和测试脚本、requirements.txt一起打包上传到Device Farm。
2. 手动构建指定平台的Wheel包
如果某些包没有现成的linux_x86_64版本,可以在你的Ubuntu x86_64虚拟机上重新构建:
pip wheel --no-deps --platform linux_x86_64 numpy
构建前记得安装好编译依赖(比如numpy需要gcc、python-dev等工具),这样生成的wheel包后缀就是标准的linux_x86_64,完全符合Device Farm的要求。
3. 打包依赖时强制指定平台
在打包测试依赖到本地目录时,用以下命令强制下载兼容格式的包:
pip install --platform linux_x86_64 --target ./package --only-binary=:all: --ignore-installed -r requirements.txt
完成后将./package目录、测试脚本、requirements.txt一起压缩上传,Device Farm会直接使用本地的依赖包,避免自动安装时拉取到不符合要求的版本。
额外注意事项
- 确保你的Ubuntu虚拟机是x86_64架构,避免因架构不匹配导致生成的包依然不符合要求。
- 精简你的
requirements.txt,只保留测试必需的依赖,减少引入不兼容包的概率。
内容的提问来源于stack exchange,提问作者J. Gursky
相关产品推荐
相关产品推荐

