Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DGL installation does not install pyyaml and pydantic as dependancies #7605

Closed
geoffreyweal opened this issue Jul 28, 2024 · 1 comment
Closed

Comments

@geoffreyweal
Copy link

geoffreyweal commented Jul 28, 2024

🐛 Bug

The issue is that when you install and then run dgl for the first time from a fresh python, you get the error messages:

Traceback (most recent call last):
  File "/home/geoffreyweal/Play9/Training_Types/node_feats__pred_hid_feats__1024/layers_depth__1/n_heads__1/2_train_ATCGGN.py", line 2, in <module>
    from ATCGNN import train
  File "/home/geoffreyweal/ATCGNN/ATCGNN_v0.0.3/ATCGNN/__init__.py", line 190, in <module>
    import torch, dgl
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/__init__.py", line 16, in <module>
    from . import (
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/dataloading/__init__.py", line 13, in <module>
    from .dataloader import *
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/dataloading/dataloader.py", line 27, in <module>
    from ..distributed import DistGraph
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/distributed/__init__.py", line 5, in <module>
    from .dist_graph import DistGraph, DistGraphServer, edge_split, node_split
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/distributed/dist_graph.py", line 12, in <module>
    from .. import backend as F, graphbolt as gb, heterograph_index
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/graphbolt/__init__.py", line 41, in <module>
    from .dataloader import *
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/graphbolt/dataloader.py", line 13, in <module>
    from .impl.gpu_graph_cache import GPUGraphCache
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/graphbolt/impl/__init__.py", line 7, in <module>
    from .legacy_dataset import *
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/graphbolt/impl/legacy_dataset.py", line 12, in <module>
    from .ondisk_dataset import OnDiskTask
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/graphbolt/impl/ondisk_dataset.py", line 14, in <module>
    import yaml
ModuleNotFoundError: No module named 'yaml'

and

Traceback (most recent call last):
  File "/home/geoffreyweal/Play9/Training_Types/node_feats__pred_hid_feats__1024/layers_depth__1/n_heads__1/2_train_ATCGGN.py", line 2, in <module>
    from ATCGNN import train
  File "/home/geoffreyweal/ATCGNN/ATCGNN_v0.0.3/ATCGNN/__init__.py", line 190, in <module>
    import torch, dgl
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/__init__.py", line 16, in <module>
    from . import (
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/dataloading/__init__.py", line 13, in <module>
    from .dataloader import *
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/dataloading/dataloader.py", line 27, in <module>
    from ..distributed import DistGraph
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/distributed/__init__.py", line 5, in <module>
    from .dist_graph import DistGraph, DistGraphServer, edge_split, node_split
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/distributed/dist_graph.py", line 12, in <module>
    from .. import backend as F, graphbolt as gb, heterograph_index
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/graphbolt/__init__.py", line 41, in <module>
    from .dataloader import *
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/graphbolt/dataloader.py", line 13, in <module>
    from .impl.gpu_graph_cache import GPUGraphCache
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/graphbolt/impl/__init__.py", line 7, in <module>
    from .legacy_dataset import *
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/graphbolt/impl/legacy_dataset.py", line 12, in <module>
    from .ondisk_dataset import OnDiskTask
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/graphbolt/impl/ondisk_dataset.py", line 34, in <module>
    from .ondisk_metadata import (
  File "/home/software/.local/easybuild/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/site-packages/dgl/graphbolt/impl/ondisk_metadata.py", line 6, in <module>
    import pydantic
ModuleNotFoundError: No module named 'pydantic'

The issue is that you need to have installed pyyaml and pydantic during the dgl installation.

The solution is easy, the pip installation just needs to say that both pyyaml and pydantic need to be installed as dependents before during the installation of dgl

To Reproduce

Steps to reproduce the behavior:

  1. Install dgl from fresh after installing pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121

Expected behavior

dgl to run

Environment

  • DGL Version (e.g., 1.0): dgl 2.3.0+cu121
  • Backend Library & Version (e.g., PyTorch 0.4.1, MXNet/Gluon 1.3): torch 2.3.1+cu121
  • OS (e.g., Linux): RockyOS 9
  • How you installed DGL (conda, pip, source): pip
  • Python version: 3.11.3
  • CUDA/cuDNN version (if applicable): cu121
  • GPU models and configuration (e.g. V100): Nvidia 4090.
  • Any other relevant information: None
@frozenbugs
Copy link
Collaborator

#7570

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants