linkedin / linkedin/FastTreeSHAP
Cannot build fasttreeshap in linux environment
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 566
- Forks
- 38
- PR merge metrics
- No merged PRs in 30d
Description
We would like to use fasttreeshap to calculate explainability values for our machine learning model.
To run our model we create a linux container with a venv for the model. All the requirements are specified in a file and installed in the venv with pip -r requirements.txt.
Our model depends on numpy==1.21.4 and when we try to install fasttreeshap we incur into this issue:
```
ERROR: Cannot install oldest-supported-numpy==0.12, oldest-supported-numpy==0.14, oldest-supported-numpy==0.15, oldest-supported-numpy==2022.1.30, oldest-supported-numpy==2022.3.27, oldest-supported-numpy==2022.4.10, oldest-supported-numpy==2022.4.18, oldest-supported-numpy==2022.4.8, oldest-supported-numpy==2022.5.27, oldest-supported-numpy==2022.5.28 and oldest-supported-numpy==2022.8.16 because these package versions have conflicting dependencies.
The conflict is caused by:
oldest-supported-numpy 2022.8.16 depends on numpy==1.17.3; python_version == "3.8" and platform_machine not in "arm64|aarch64|s390x|loongarch64" and platform_python_implementation != "PyPy"
oldest-supported-numpy 2022.5.28 depends on numpy==1.17.3; python_version == "3.8" and (platform_machine != "arm64" or platform_system != "Darwin") and platform_machine != "aarch64" and platform_machine != "s390x" and platform_machine != "loongarch64" and platform_python_implementation != "PyPy"
oldest-supported-numpy 2022.5.27 depends on numpy==1.17.3; python_version == "3.8" and (platform_machine != "arm64" or platform_system != "Darwin") and platform_machine != "aarch64" and platform_machine != "s390x" and platform_machine != "loongarch64" and platform_python_implementation != "PyPy"
oldest-supported-numpy 2022.4.18 depends on numpy==1.17.3; python_version == "3.8" and (platform_machine != "arm64" or platform_system != "Darwin") and platform_machine != "aarch64" and platform_machine != "s390x" and platform_machine != "loongarch64" and platform_python_implementation != "PyPy"
oldest-supported-numpy 2022.4.10 depends on numpy==1.17.3; python_version == "3.8" and (platform_machine != "arm64" or platform_system != "Darwin") and platform_machine != "aarch64" and platform_machine != "s390x" and platform_machine != "loongarch64" and platform_python_implementation != "PyPy"
oldest-supported-numpy 2022.4.8 depends on numpy==1.17.3; python_version == "3.8" and (platform_machine != "arm64" or platform_system != "Darwin") and platform_machine != "aarch64" and platform_machine != "s390x" and platform_machine != "loongarch64" and platform_python_implementation != "PyPy"
oldest-supported-numpy 2022.3.27 depends on numpy==1.17.3; python_version == "3.8" and (platform_machine != "arm64" or platform_system != "Darwin") and platform_machine != "aarch64" and platform_machine != "s390x" and platform_machine != "loongarch64" and platform_python_implementation != "PyPy"
oldest-supported-numpy 2022.1.30 depends on numpy==1.17.3; python_version == "3.8" and (platform_machine != "arm64" or platform_system != "Darwin") and platform_machine != "aarch64" and platform_machine != "s390x" and platform_python_implementation != "PyPy"
oldest-supported-numpy 0.15 depends on numpy==1.17.3; python_version == "3.8" and (platform_machine != "arm64" or platform_system != "Darwin") and platform_machine != "aarch64" and platform_machine != "s390x" and platform_python_implementation != "PyPy"
oldest-supported-numpy 0.14 depends on numpy==1.17.3; python_version == "3.8" and (platform_machine != "arm64" or platform_system != "Darwin") and platform_machine != "aarch64" and platform_machine != "s390x" and platform_python_implementation != "PyPy"
oldest-supported-numpy 0.12 depends on numpy==1.17.3; python_version == "3.8" and (platform_machine != "arm64" or platform_system != "Darwin") and platform_machine != "aarch64" and platform_python_implementation != "PyPy"
```
I can volunteer time and resources to add a wheel file for linux. Would you be interested in distributing a wheel file created by us ?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the Linux-container installation using the pinned numpy==1.21.4 and requirements.txt described in the issue. Investigate the dependency conflict and determine whether a Linux wheel can be built and distributed for this environment; done means pip can install fasttreeshap without the reported resolution failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- numpy, python
- Domain
- build-system, machine-learning
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100