如何在CI中安装未知确切名称的Python Wheel包(含test extras)
在CI环境安装带Test Extras的Python Wheel包
问题原因
你之前用python -m pip install '*.whl[test]'无效,是因为Shell会把[test]当成通配符匹配规则,而非传递给pip作为extras的语法解析,因此必须明确指定Wheel文件名。
解决方案
方法一:先获取文件名再安装
- 用变量存储dist目录下的唯一Wheel文件名:
WHEEL_FILE=$(ls dist/*.whl) - 执行带test extras的安装命令:
python -m pip install "$WHEEL_FILE[test]"
方法二:一步到位执行
直接通过命令替换获取文件名并安装,无需单独定义变量:
python -m pip install "$(ls dist/*.whl)[test]"
更稳健的方式(规避ls潜在问题)
如果想要更可靠的文件名获取逻辑,可使用find命令:
python -m pip install "$(find dist -type f -name "*.whl")[test]"
注:以上命令中的双引号必须保留,它能阻止Shell解析
[test]部分,确保pip正确识别extras需求。
内容的提问来源于stack exchange,提问作者Pierrick Rambaud
相关产品推荐
相关产品推荐

