kumuji / volumentations

Augmentation package for 3d data based on albumentaitons
https://volumentations.readthedocs.io/en/latest/?badge=latest
MIT License
37 stars 2 forks source link

Outdated importlib-metadata dependency causes AttributeError: 'PathDistribution' object has no attribute '_normalized_name' #252

Open cnmicha opened 4 months ago

cnmicha commented 4 months ago

🐛 Bug

To Reproduce

I use version 0.1.8 of the pip package with Python 3.10.12 on Ubuntu 22.04. The pip package has a dependency on importlib-metadata<4.0,>=1.6.

Have the pip package pytorch-lightning==2.3.0 installed and try to import it like this: import pytorch_lightning as pl

Run your Python module using the vscode debugger (this is important, the error does not occur when the module is run from the CLI).

Expected behavior

No exception is raised.

Actual behavior

The following Exception is raised:

AttributeError: 'PathDistribution' object has no attribute '_normalized_name'
  File "/usr/lib/python3.10/importlib/metadata/_itertools.py", line 16, in unique_everseen
    k = key(element)
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 1018, in <genexpr>
    eps = itertools.chain.from_iterable(
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 459, in load
    ordered = sorted(eps, key=by_group)
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 1021, in entry_points
    return SelectableGroups.load(eps).select(**params)
  File "/usr/local/lib/python3.10/dist-packages/fsspec/__init__.py", line 43, in process_entries
    eps = entry_points()
  File "/usr/local/lib/python3.10/dist-packages/fsspec/__init__.py", line 69, in <module>
    process_entries()
  File "/usr/local/lib/python3.10/dist-packages/lightning_fabric/utilities/cloud_io.py", line 21, in <module>
    import fsspec
  File "/usr/local/lib/python3.10/dist-packages/lightning_fabric/utilities/distributed.py", line 18, in <module>
    from lightning_fabric.utilities.cloud_io import _is_local_file_protocol
  File "/usr/local/lib/python3.10/dist-packages/lightning_fabric/utilities/__init__.py", line 18, in <module>
    from lightning_fabric.utilities.distributed import is_shared_filesystem
  File "/usr/local/lib/python3.10/dist-packages/lightning_fabric/accelerators/registry.py", line 18, in <module>
    from lightning_fabric.utilities.exceptions import MisconfigurationException
  File "/usr/local/lib/python3.10/dist-packages/lightning_fabric/accelerators/accelerator.py", line 19, in <module>
    from lightning_fabric.accelerators.registry import _AcceleratorRegistry
  File "/usr/local/lib/python3.10/dist-packages/lightning_fabric/accelerators/__init__.py", line 15, in <module>
    from lightning_fabric.accelerators.accelerator import Accelerator
  File "/usr/local/lib/python3.10/dist-packages/lightning_fabric/fabric.py", line 44, in <module>
    from lightning_fabric.accelerators.accelerator import Accelerator
  File "/usr/local/lib/python3.10/dist-packages/lightning_fabric/__init__.py", line 30, in <module>
    from lightning_fabric.fabric import Fabric  # noqa: E402
  File "/usr/local/lib/python3.10/dist-packages/pytorch_lightning/__init__.py", line 25, in <module>
    from lightning_fabric.utilities.seed import seed_everything  # noqa: E402
  File "/workspaces/3d_detection/nn/trainer/trainer.py", line 25, in <module> (Current frame)
    import pytorch_lightning as pl
  File "/workspaces/3d_detection/nn/main_instance_segmentation.py", line 8, in <module>
    from trainer.trainer import InstanceSegmentation, RegularCheckpointing
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,

Workaround

Upgrade importlib-metadata to the latest version, in my case 8.0.0, and ignore the dependency of volumentations. I did not test whether volumentations still works. However, I am now able to use the debugger.

Environment

pip list:

Package                   Version
------------------------- ------------
absl-py                   2.1.0
addict                    2.4.0
aiohttp                   3.9.5
aiosignal                 1.3.1
albucore                  0.0.12
albumentations            1.4.10
annotated-types           0.7.0
antlr4-python3-runtime    4.9.3
asttokens                 2.4.1
async-timeout             4.0.3
attrs                     23.2.0
blinker                   1.8.2
certifi                   2024.6.2
charset-normalizer        3.3.2
click                     8.1.7
colorama                  0.4.6
comm                      0.2.2
ConfigArgParse            1.7
contourpy                 1.2.1
cycler                    0.12.1
Cython                    0.29.37
dash                      2.17.1
dash-core-components      2.0.0
dash-html-components      2.0.0
dash-table                5.0.0
decorator                 5.1.1
detectron2                0.6
exceptiongroup            1.2.1
executing                 2.0.1
fastjsonschema            2.20.0
filelock                  3.15.4
fire                      0.6.0
Flask                     3.0.3
fonttools                 4.53.0
frozenlist                1.4.1
fsspec                    2024.6.0
grpcio                    1.64.1
hydra-core                1.3.2
idna                      3.7
imageio                   2.34.2
importlib-metadata        3.10.1
ipython                   8.25.0
ipywidgets                8.1.3
itsdangerous              2.2.0
jedi                      0.19.1
Jinja2                    3.1.4
joblib                    1.4.2
jsonschema                4.22.0
jsonschema-specifications 2023.12.1
jupyter_core              5.7.2
jupyterlab_widgets        3.0.11
kiwisolver                1.4.5
lazy_loader               0.4
lightning-utilities       0.11.2
loguru                    0.7.2
Markdown                  3.6
MarkupSafe                2.1.5
matplotlib                3.9.0
matplotlib-inline         0.1.7
MinkowskiEngine           0.5.4
mpmath                    1.3.0
multidict                 6.0.5
natsort                   8.4.0
nbformat                  5.10.4
nest-asyncio              1.6.0
networkx                  3.3
numpy                     1.26.4
nvidia-cublas-cu11        11.11.3.6
nvidia-cuda-cupti-cu11    11.8.87
nvidia-cuda-nvrtc-cu11    11.8.89
nvidia-cuda-runtime-cu11  11.8.89
nvidia-cudnn-cu11         8.7.0.84
nvidia-cufft-cu11         10.9.0.58
nvidia-curand-cu11        10.3.0.86
nvidia-cusolver-cu11      11.4.1.48
nvidia-cusparse-cu11      11.7.5.86
nvidia-nccl-cu11          2.20.5
nvidia-nvtx-cu11          11.8.86
omegaconf                 2.3.0
open3d                    0.18.0
opencv-python-headless    4.10.0.84
packaging                 24.1
pandas                    2.2.2
parso                     0.8.4
pexpect                   4.9.0
pillow                    10.3.0
pip                       22.0.2
platformdirs              4.2.2
plotly                    5.22.0
plyfile                   1.0.3
pointnet2                 0.0.0
pretty-errors             1.2.25
prompt_toolkit            3.0.47
protobuf                  4.25.3
ptyprocess                0.7.0
pure-eval                 0.2.2
pydantic                  2.7.4
pydantic_core             2.18.4
Pygments                  2.18.0
pyparsing                 3.1.2
pyquaternion              0.9.9
python-dateutil           2.9.0.post0
python-dotenv             1.0.1
pytorch-lightning         2.3.0
pytz                      2024.1
pyviz3d                   0.3.5
PyYAML                    5.4.1
referencing               0.35.1
requests                  2.32.3
retrying                  1.3.4
rpds-py                   0.18.1
scikit-image              0.24.0
scikit-learn              1.5.0
scipy                     1.14.0
setuptools                59.6.0
six                       1.16.0
stack-data                0.6.3
sympy                     1.12.1
tenacity                  8.4.2
tensorboard               2.17.0
tensorboard-data-server   0.7.2
tensorboard-plugin-wit    1.8.1
termcolor                 2.4.0
threadpoolctl             3.5.0
tifffile                  2024.6.18
tomli                     2.0.1
torch                     2.3.1+cu118
torch-scatter             2.1.2
torchmetrics              1.4.0
torchvision               0.18.1+cu118
tqdm                      4.66.4
traitlets                 5.14.3
trimesh                   4.4.1
triton                    2.3.1
typing_extensions         4.12.2
tzdata                    2024.1
urllib3                   2.2.2
volumentations            0.1.8
wcwidth                   0.2.13
Werkzeug                  3.0.3
wheel                     0.37.1
widgetsnbextension        4.0.11
yarl                      1.9.4
zipp                      3.19.2
kumuji commented 3 months ago

Thank you for bringing this to my attention! I haven't updated the package for a few years now, I think I need to finally do it =) I will keep you posted.