median-research-group / LibMTL

A PyTorch Library for Multi-Task Learning
MIT License
1.98k stars 185 forks source link

Error during torch-sparse installation #79

Closed CamaroTheBOSS closed 3 months ago

CamaroTheBOSS commented 3 months ago

Hey, I have problem with lib installation. I was following steps in README. I've created virtualenv, installed torch and cloned repo. I tried to install requirements, but unfortunately I got a lot of errors (pasting only small % of the errors) during torch-sparse installation:

Running setup.py install for torch-sparse ... error
ERROR: Command errored out with exit status 1:
     command: 'd:\code\vsrvc\venvmtl\scripts\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\CamaroTheBOSS\\AppData\\Local\\Temp\\pip-install-r8e2dn_8\\torch-sparse_36e981457d8248aa9a380f01cf70cd84\\setup.py'"'"'; __file__='"'"'C:\\Users\\CamaroTheBOSS\\AppData\\Local\\Temp\\pip-install-r8e2dn_8\\torch-sparse_36e981457d8248aa9a380f01cf70cd84\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\CamaroTheBOSS\AppData\Local\Temp\pip-record-93d7_cnq\install-record.txt' --single-version-externally-managed --compile --install-headers 'd:\code\vsrvc\venvmtl\include\site\python3.8\torch-sparse'
         cwd: C:\Users\CamaroTheBOSS\AppData\Local\Temp\pip-install-r8e2dn_8\torch-sparse_36e981457d8248aa9a380f01cf70cd84\
    Complete output (3466 lines):
    d:\code\vsrvc\venvmtl\lib\site-packages\setuptools\dist.py:642: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
      warnings.warn(
    WARNING: The wheel package is not available.
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.8
    creating build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\add.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\bandwidth.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\cat.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\coalesce.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\convert.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\diag.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\eye.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\index_select.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\masked_select.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\matmul.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\metis.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\mul.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\narrow.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\padding.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\permute.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\reduce.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\rw.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\saint.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\sample.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\select.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\spmm.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\spspmm.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\storage.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\tensor.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\transpose.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\utils.py -> build\lib.win-amd64-3.8\torch_sparse
    copying torch_sparse\__init__.py -> build\lib.win-amd64-3.8\torch_sparse
    running build_ext
    d:\code\vsrvc\venvmtl\lib\site-packages\torch\utils\cpp_extension.py:304: UserWarning: Error checking compiler version for cl: 'utf-8' codec can't decode byte 0xa5 in position 50: invalid start byte
      warnings.warn(f'Error checking compiler version for {compiler}: {error}')
    building 'torch_sparse._convert_cpu' extension
    creating build\temp.win-amd64-3.8
    creating build\temp.win-amd64-3.8\Release
    creating build\temp.win-amd64-3.8\Release\csrc
    creating build\temp.win-amd64-3.8\Release\csrc\cpu
    C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Icsrc -Id:\code\vsrvc\venvmtl\lib\site-packages\torch\include -Id:\code\vsrvc\venvmtl\lib\site-packages\torch\include\torch\csrc\api\include -Id:\code\vsrvc\venvmtl\lib\site-packages\torch\include\TH -Id:\code\vsrvc\venvmtl\lib\site-packages\torch\include\THC -Id:\code\vsrvc\venvmtl\include -IC:\Users\CamaroTheBOSS\AppData\Local\Programs\Python\Python38\include -IC:\Users\CamaroTheBOSS\AppData\Local\Programs\Python\Python38\include "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\ATLMFC\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /EHsc /Tpcsrc\convert.cpp /Fobuild\temp.win-amd64-3.8\Release\csrc\convert.obj /MD /wd4819 /wd4251 /wd4244 /wd4267 /wd4275 /wd4018 /wd4190 /EHsc -O2 -DAT_PARALLEL_OPENMP /openmp -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_convert_cpu -D_GLIBCXX_USE_CXX11_ABI=0

My environment:

PyTorch version: 1.8.1+cu111
Is debug build: False
CUDA used to build PyTorch: 11.1
ROCM used to build PyTorch: N/A

OS: Microsoft Windows 10 Education
GCC version: (MinGW-W64 x86_64-msvcrt-posix-seh, built by Brecht Sanders) 13.1.0
Clang version: Could not collect
CMake version: version 3.24.2

Python version: 3.8 (64-bit runtime)
Is CUDA available: True
CUDA runtime version: Could not collect
GPU models and configuration: GPU 0: NVIDIA GeForce RTX 3060
Nvidia driver version: 556.12
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A

Versions of relevant libraries:
[pip3] numpy==1.24.4
[pip3] torch==1.8.1+cu111
[pip3] torchvision==0.9.1+cu111
[conda] Could not collect
CamaroTheBOSS commented 3 months ago

OK, for torch <= 1.9 it is needed to specify version for torch-sparse and torch-scatter like this instead of just pip install -r requirements.txt:

pip install torch-sparse==0.6.10 --no-cache-dir -f https://data.pyg.org/whl/torch-1.8.1+cu111.html
pip install torch-scatter==2.0.8 -f https://data.pyg.org/whl/torch-1.8.1+cu111.html

source: https://stackoverflow.com/questions/70450671/unable-to-install-torch-sparse-package

Baijiong-Lin commented 3 months ago

These two packages are used in QM9 only. You can ignore them if you do not run experiments on the QM9 dataset.