그래프 이론을 python으로 구현하려고 할 때, pytorch와 관련된 패키지를 많이 사용하는 편입니다.
단순하게 pip를 이용하고 설치하고 실행하면 좋겠지만, 제대로 된 정보 없이 설치를 진행한다면 온갖 에러에 직면할 수 있습니다.
필히 pytorch의 버전과 호환이 되며 본인의 os 환경(linux, mac, window) 등을 고려하여 설치를 진행해야 합니다.
또한, 2023년 기준 아직까지 맥 환경에서는 gpu활용을 위한 패키지 설치가 불가능한 것을 확인했습니다.
이 포스팅에선 맥 환경에서 networkx, torch-sparse, torch-sparse, torch-geometric, dgl, dglgo 설치에 대해 다뤄보겠습니다.
1. Network X 설치 방법
networkx 같은 경우에는 pip나 conda를 통한 설치를 진행하셔도 무방합니다.
pip install networkx
2. torch-scatter
이 패키지 설치부터 본격적으로 본인의 버전과 환경에 맞추어 설치를 진행해야합니다.
우선 torch-scatter 설치 가이드 페이지를 보겠습니다 (https://pypi.org/project/torch-scatter/)

위와 같은 페이지로 접속이 되실텐데요.
아래로 스크롤을 내리면 Installation 부분이 나옵니다.
conda를 통한 설치를 진행하셔도 되지만, 아래와 같이 PackagesNotFoundError에 직면할 수도 있습니다.

이 경우 pip를 통한 설치를 진행해야하는데요. 이때 pytorch 버전을 확인하시어 호환되는 버전으로 설치를 진행해야합니다.
우선 pytorch 버전을 확인하겠습니다.
적당히 pytorch 버전을 확인하시고, 아래의 이미지를 참고하여 본인 버전에 맞는 커맨드를 복사하면 됩니다.
보다시피 macOS 같은 경우에는 cpu만 지원하며, gpu는 지원하고 있지 않습니다.

# pytorch 1.13
pip install torch-scatter -f https://data.pyg.org/whl/torch-1.13.0+${CUDA}.html
# pytorch 1.12
pip install torch-scatter -f https://data.pyg.org/whl/torch-1.12.0+${CUDA}.html
3. torch-sparse
torch-sparse의 경우에도 torch-scatter 설치 방법과 비슷합니다.
설치 가이드를 확인하고 (https://pypi.org/project/torch-sparse/),
본인 pytorch 버전과 os 환경에 맞는 방식으로 설치를 진행하면 되겠습니다.
# pytorch 1.13
pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-1.13.0+${CUDA}.html
# pytorch 1.12
pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-1.12.0+${CUDA}.html
4. torch-geometric
torch-geometric과 같은 경우에는 공식 도큐먼트 페이지에서 보다 친절하게 installation 가이드를 주고 있습니다. (https://pytorch-geometric.readthedocs.io/en/latest/install/installation.html)

위 그림처럼 본인의 PyTorch 버전, OS환경, Package, CUDA 버전 등을 클릭하면 아래 자동으로 install command를 출력해줍니다.
5. dgl
Deep Graph Library (dgl)은 다양한 GNN모델을 제공한다는 특징이 있습니다.
이 패키지 또한 설치가 까다롭지만, 공식 도큐먼트를 참고하면 쉽고 빠르게 설치할 수 있습니다. (https://www.dgl.ai/pages/start.html)

torch-geometric처럼 본인 환경을 제시한다면, 상응하는 install command를 제공해줍니다.
6. dglgo
dglgo는 따로 패키지 정보를 찾진 못했는데요.
맥북 M1Pro 기준으로 아래 커맨드를 통해 설치를 진행했고, 아직까지는 문제없이 사용하고 있습니다.
pip install --pre dglgo -f https://data.dgl.ai/wheels-test/repo.html
확실한 방법을 찾으면, 다시 업데이트 하도록 하겠습니다.