오류노트

Cannot find DGL C++ graphbolt library

wony-wony 2025. 3. 5. 10:53

 

 

jupyter notebook에서 import dgl을 하는 과정에서 에러가 발생했다.

찾아보니 이 에러가 많은 사람들에게 종종 발생하는데, 해결한 사례는 잘 나와있지 않아서 이 글을 쓴다.

 

 

 

 

 

먼저 내게 발생한 에러는

FileNotFoundError: Cannot find DGL C++ graphbolt library at C:\Users\user\anaconda3\envs\dgl_env\lib\site-packages\dgl\graphbolt\graphbolt_pytorch_2.6.0.dll

 

이러하다.

 

해결하기 위해, 먼저 gpt에게 도움을 요청했는데, 

 

 

1. Graphbolt 기능이 필요 없을 경우, DGL이 Graphbolt를 로드하지 않도록 설정해라.

import os
os.environ["DGL_SKIP_GRAPHBOLT"] = "1"
import dgl

 

이렇게 하면 Graphbolt 라이브러리 로드를 건너뛰어 에러를 피할 수 있다고 했다.

 

나는 Graphbolt 기능은 필요 없어서, 이대로 따라해봤는데

 

역시나.. 해결되지 않았다.

 

 

 

 

 

 

며칠동안 끙끙대다 내가 해결한 방법은 이거다.

DGL 버전과 torch 버전을 호환되도록 맞춰주어야 한다!


  • DGL 버전 : 2.0.0
  • 백엔드 라이브러리 및 버전 : pytorch 2.6.0
  • 파이썬 버전 : 3.10.16

기존의 나의 버전은 이거다.

 

DGL 2.0.0은 torch 2.2.x 이상의 버전을 지원하지 않기 때문에 torch 2.1.x 버전으로 다운그레이드 해줘야 한다.

 

 

 

일단 나는 현재 jupyter notebook을 가상환경에서 사용하고 있기 때문에 그 경로를 먼저 확인해주었다.

import sys
print(sys.executable)

 

이 코드를 jupyter notebook에서 실행했을 때 나온 경로가 torch 2.1.1을 설치하는 경로와 같아야 한다.

 

 

나는 dgl_env라는 가상환경에서 하고 있기 때문에,

먼저 가상환경을 활성화 해주고 이 환경에 설치되어 있는 torch 버전을 확인하였다.

conda activate dgl_env
python -m pip show torch

 

 

그 다음 이 환경에서 기존의 torch를 제거하고 2.1.1 버전을 설치해주면 된다.

pip uninstall torch
pip install torch==2.1.1

 

설치 후, 다시 아래 명령어로 버전을 확인하면 torch가 2.1.1로 표시되어야 한다.

python -m pip show torch

 

 

 

 

다음,  torch 2.1.1에 맞는 torchvision 0.16.1을 설치해주면 된다.

pip install torchvision==0.16.1

 

 

 

 

 

알맞게 잘 설치가 되었는지 확인하기 위해 jupyter notebook에 아래의 코드를 입력해주면 된다.

import torch
import torchvision
import dgl

print("Torch version:", torch.__version__)
print("Torchvision version:", torchvision.__version__)
print("DGL version:", dgl.__version__)
Torch version: 2.1.1+cpu
Torchvision version: 0.16.1+cpu
DGL version: 2.0.0

 

 

설치는 완벽하다!

하지만 현재 설치된 NumPy 버전(2.2.3)이 PyTorch와 호환되지 않아 충돌 위험이 있다는 에러가 발생한다.

그렇다면 아래의 코드를 통해 NumPy도 다운그레이드 해서 버전을 맞춰주면 된다.

pip install numpy==1.24.3 --force-reinstall

 

이렇게 호환되는 버전으로 다 맞춰주면 현재 환경을 안정적으로 유지해줄 수 있다.

 

 

 

 

이제 마지막으로,

import dgl을 해보면 성공적으로 실행되는 걸 확인 할 수 있다.

 

모두가 이 에러를 잘 해결하길 바라며, 글을 마친다!

 

 

 

 

 

 

 

 

 

내가 참고한 사이트는 아래에 첨부해둔다.

 

FileNotFoundError: Cannot find DGL C++ graphbolt library

I went to this directory (…/site-packages/dgl/graphbolt/) and found that the latest version file is 2.1.2. I solved this problem by downgrading the torch version to 2.1.2.

discuss.dgl.ai