尝试在 python 虚拟环境中安装商店时遇到问题。特别是当
pip install shap
Run Code Online (Sandbox Code Playgroud)
出现以下错误:
ERROR: Command errored out with exit status 1:
command: /Users/federiconutarelli/Desktop/Riccaboni_python/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/86/wyxlz8f56nq997hwmvpnt_km0000gn/T/pip-install-snwg2_4s/shap_4dbdc5c8e74a45cca2a3aa06af49ba31/setup.py'"'"'; __file__='"'"'/private/var/folders/86/wyxlz8f56nq997hwmvpnt_km0000gn/T/pip-install-snwg2_4s/shap_4dbdc5c8e74a45cca2a3aa06af49ba31/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/86/wyxlz8f56nq997hwmvpnt_km0000gn/T/pip-wheel-nnajc046
cwd: /private/var/folders/86/wyxlz8f56nq997hwmvpnt_km0000gn/T/pip-install-snwg2_4s/shap_4dbdc5c8e74a45cca2a3aa06af49ba31/
Complete output (224 lines):
The nvcc binary could not be located in your $PATH. Either add it to your path, or set $CUDAHOME to enable CUDA
Error building cuda module: TypeError('cannot unpack non-iterable NoneType object')
WARNING: Could not compile cuda extensions
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.14.6-x86_64-3.8
creating build/lib.macosx-10.14.6-x86_64-3.8/shap
copying shap/datasets.py -> build/lib.macosx-10.14.6-x86_64-3.8/shap
copying shap/__init__.py -> build/lib.macosx-10.14.6-x86_64-3.8/shap
copying shap/links.py -> build/lib.macosx-10.14.6-x86_64-3.8/shap ...
Run Code Online (Sandbox Code Playgroud)
(它比那更长,但我为了可读性而剪掉了它)。此外,conda 安装在执行事务时会卡住。据我了解,问题在于 Shapiros 依赖于 CUDA。但是也在将 CUDA 设置为路径之后
export CUDA_HOME=/usr/local/cuda-8.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
PATH=${CUDA_HOME}/bin:${PATH}
export PATH
Run Code Online (Sandbox Code Playgroud)
错误仍然存在。我正在开发一个 python 虚拟环境。我知道 anaconda 应该提供 CUDA,但 anaconda 似乎也卡住了(每个命令都被“解决环境”所吸引。
我该如何解决这个问题?
谢谢你们。
小智 1
尝试安装 python3 dev。
对于Ubuntu
sudo apt -y install python3-dev
Run Code Online (Sandbox Code Playgroud)
对于 Centos
sudo yum -y install python3-devel
Run Code Online (Sandbox Code Playgroud)
编辑:如果您使用的是特定版本的 python
sudo apt -y install python3.7-dev
Run Code Online (Sandbox Code Playgroud)
确保dev版本和python版本相同