-
Notifications
You must be signed in to change notification settings - Fork 7.8k
Open
Description
Setuptool's "pkg_resources" is deprecated.
It's been announced that setuptools will release version 81 in 2025-12, with pkg_resources removed. (https://setuptools.pypa.io/en/stable/history.html).
For now, if user's setuptools is 80.9.0, then
>>> from detectron2 import model_zoo"
produces
UserWarning: pkg_resources is deprecated as an API.
See https://setuptools.pypa.io/en/latest/pkg_resources.html.
The pkg_resources package is slated for removal as early as 2025-11-30.
Refrain from using this package or pin to Setuptools<81".
Once setuptools 81 is released, users with updated setuptools will get an exception (ModuleNotFoundError) instead of the warning. Right?
FWIW, in the detectron2 repo, there are exactly 3 references to pkg_resources.
% egrep -r -n pkg_resources . | cat -n
1 ./setup.cfg:9:known_third_party=fvcore,matplotlib,cv2,torch,torchvision,PIL,pycocotools,yacs,termcolor,cityscapesscripts,tabulate,tqdm,scipy,lvis,psutil,pkg_resources,caffe2,onnx,panopticapi,black,isort,av,iopath,omegaconf,hydra,yaml,pydoc,submitit,cloudpickle,packaging,timm,pandas,fairscale,pytorch3d,pytorch_lightning
2 ./detectron2/model_zoo/model_zoo.py:4:import pkg_resources
3 ./detectron2/model_zoo/model_zoo.py:139: cfg_file = pkg_resources.resource_filename(
There are several different ways to address, including (but not limited to)
- require setuptools < 81 (yuck)
- or, reimplement pkg_resources.resource_filename using importlib.resources. But that's introduced in Python 3.9, and detectron2 retains compatibility to Python 3.7. So new requirement that if Python < 3.9, need separate package importlib_resources to reimplement.
- or, reimplement pkg_resources.resource_filename less ambitiously.
Instructions To Reproduce the 🐛 Bug:
- Hide your existing pkg_resources, to simulate the future setuptools
(cd site-packages && mv pkg_resources pkg_resources.genuine)
remember to revert!
- What exact command you run:
>>> from detectron2 import model_zoo
- Full logs or other relevant observations:
Traceback (most recent call last):
...
File ".../detectron2/model_zoo/model_zoo.py", line 4, in <module>
import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'
Expected behavior:
This
from detectron2 import model_zoo
does not raise an exception.
Environment:
Provide your environment information using the following command:
------------------------------- ----------------------------------------------------------------------------------------
sys.platform darwin
Python 3.10.11 (v3.10.11:7d4cc5aa85, Apr 4 2023, 19:05:19) [Clang 13.0.0 (clang-1300.0.29.30)]
numpy 1.26.4
detectron2 failed to import
detectron2._C not built correctly: No module named 'detectron2'
Compiler ($CXX) Apple clang version 14.0.0 (clang-1400.0.29.202)
DETECTRON2_ENV_MODULE <not set>
PyTorch 2.2.2 @/Users/john/venvs/3.10+LG.v2.9.0+/lib/python3.10/site-packages/torch
PyTorch debug build False
torch._C._GLIBCXX_USE_CXX11_ABI False
GPU available No: torch.cuda.is_available() == False
Pillow 11.3.0
torchvision 0.17.2 @/Users/john/venvs/3.10+LG.v2.9.0+/lib/python3.10/site-packages/torchvision
fvcore 0.1.5.post20221221
iopath 0.1.9
cv2 4.11.0
------------------------------- ----------------------------------------------------------------------------------------
PyTorch built with:
- GCC 4.2
- C++ Version: 201703
- clang 13.1.6
- Intel(R) oneAPI Math Kernel Library Version 2022.2-Product Build 20220801 for Intel(R) 64 architecture applications
- Intel(R) MKL-DNN v3.3.2 (Git Hash 2dc95a2ad0841e29db8b22fbccaf3e5da7992b01)
- OpenMP 201811
- LAPACK is enabled (usually provided by MKL)
- NNPACK is enabled
- CPU capability usage: AVX2
- Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CXX_COMPILER=/Applications/Xcode_13.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++, CXX_FLAGS= -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -DNDEBUG -DUSE_KINETO -DLIBKINETO_NOCUPTI -DLIBKINETO_NOROCTRACER -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DUSE_PYTORCH_METAL_EXPORT -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -DUSE_COREML_DELEGATE -O2 -fPIC -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Werror=braced-scalar-init -Werror=range-loop-construct -Werror=bool-operation -Wnarrowing -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wvla-extension -Wsuggest-override -Wnewline-eof -Winconsistent-missing-override -Winconsistent-missing-destructor-override -Wno-pass-failed -Wno-error=pedantic -Wno-error=old-style-cast -Wno-error=inconsistent-missing-override -Wno-error=inconsistent-missing-destructor-override -Wconstant-conversion -Wno-invalid-partial-specialization -Wno-missing-braces -Qunused-arguments -fcolor-diagnostics -faligned-new -Wno-unused-but-set-variable -fno-math-errno -fno-trapping-math -Werror=format -DUSE_MPS -Wno-unused-private-field -Wno-missing-braces, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=2.2.2, USE_CUDA=OFF, USE_CUDNN=OFF, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=OFF, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF, USE_ROCM_KERNEL_ASSERT=OFF,
Metadata
Metadata
Assignees
Labels
No labels