fix: select wrong python version for wheel

This commit is contained in:
DavHau 2020-10-06 13:34:12 +07:00
parent 0f7613fc6e
commit 8de0d2ceda

View file

@ -273,22 +273,23 @@ class WheelDependencyProvider(DependencyProviderBase):
self.data = LazyBucketDict(data_dir)
maj = self.py_ver_digits[0] # major version
min = self.py_ver_digits[1] # minor version
pyver_re = rf"(py{maj}|cp{maj}){min}"
if self.system == "linux":
cp_abi = f"cp{maj}{min}mu" if int(maj) == 2 else f"cp{maj}{min}m?"
self.preferred_wheels = (
re.compile(rf".*(py{maj}|cp{maj}){min}?.*-({cp_abi}|abi3|none)-manylinux2014_{self.platform}"),
re.compile(rf".*(py{maj}|cp{maj}){min}?.*-({cp_abi}|abi3|none)-manylinux2010_{self.platform}"),
re.compile(rf".*(py{maj}|cp{maj}){min}?.*-({cp_abi}|abi3|none)-manylinux1_{self.platform}"),
re.compile(rf".*(py{maj}|cp{maj}){min}?.*-({cp_abi}|abi3|none)-linux_{self.platform}"),
re.compile(rf".*(py{maj}|cp{maj}){min}?.*-({cp_abi}|abi3|none)-any"),
re.compile(rf"{pyver_re}+-({cp_abi}|abi3|none)-manylinux2014_{self.platform}"),
re.compile(rf"{pyver_re}+-({cp_abi}|abi3|none)-manylinux2010_{self.platform}"),
re.compile(rf"{pyver_re}+-({cp_abi}|abi3|none)-manylinux1_{self.platform}"),
re.compile(rf"{pyver_re}+-({cp_abi}|abi3|none)-linux_{self.platform}"),
re.compile(rf"{pyver_re}+-({cp_abi}|abi3|none)-any"),
)
elif self.system == "darwin":
self.preferred_wheels = (
re.compile(rf".*(py{maj}|cp{maj}){min}?.*-(cp{maj}{min}|abi3|none)-macosx_\d*_\d*_universal"),
re.compile(rf".*(py{maj}|cp{maj}){min}?.*-(cp{maj}{min}|abi3|none)-macosx_\d*_\d*_x86_64"),
re.compile(rf".*(py{maj}|cp{maj}){min}?.*-(cp{maj}{min}|abi3|none)-macosx_\d*_\d*_intel"),
re.compile(rf".*(py{maj}|cp{maj}){min}?.*-(cp{maj}{min}|abi3|none)-macosx_\d*_\d*_(fat64|fat32)"),
re.compile(rf".*(py{maj}|cp{maj}){min}?.*-(cp{maj}{min}|abi3|none)-any"),)
re.compile(rf"{pyver_re}+-(cp{maj}{min}|abi3|none)-macosx_\d*_\d*_universal"),
re.compile(rf"{pyver_re}+-(cp{maj}{min}|abi3|none)-macosx_\d*_\d*_x86_64"),
re.compile(rf"{pyver_re}+-(cp{maj}{min}|abi3|none)-macosx_\d*_\d*_intel"),
re.compile(rf"{pyver_re}+-(cp{maj}{min}|abi3|none)-macosx_\d*_\d*_(fat64|fat32)"),
re.compile(rf"{pyver_re}+-(cp{maj}{min}|abi3|none)-any"),)
else:
raise Exception(f"Unsupported Platform {platform.system()}")