import setuptools.version遇到pkg_resource异常

背景

在自己写的包中使用到joblib和setuptools,在导入的时候经常容易卡主,一次严重影响到了生产,故尝试解决。

 File "/root/xxxx/xxxx/util/dependencies.py", line 25, in <module>
    from joblib import delayed, load, dump
  File "/root/miniconda/envs/py39/lib/python3.9/site-packages/joblib/__init__.py", line 113, in <module>
    from .memory import Memory, MemorizedResult, register_store_backend
  File "/root/miniconda/envs/py39/lib/python3.9/site-packages/joblib/memory.py", line 32, in <module>
    from ._store_backends import StoreBackendBase, FileSystemStoreBackend
  File "/root/miniconda/envs/py39/lib/python3.9/site-packages/joblib/_store_backends.py", line 15, in <module>
    from .backports import concurrency_safe_rename
  File "/root/miniconda/envs/py39/lib/python3.9/site-packages/joblib/backports.py", line 22, in <module>
    import distutils  # noqa
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 982, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 925, in _find_spec
  File "/root/miniconda/envs/py39/lib/python3.9/site-packages/_distutils_hack/__init__.py", line 97, in find_spec
    return method()
  File "/root/miniconda/envs/py39/lib/python3.9/site-packages/_distutils_hack/__init__.py", line 108, in spec_for_distutils
    mod = importlib.import_module('setuptools._distutils')
  File "/root/miniconda/envs/py39/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/root/miniconda/envs/py39/lib/python3.9/site-packages/setuptools/__init__.py", line 16, in <module>
    import setuptools.version
  File "/root/miniconda/envs/py39/lib/python3.9/site-packages/setuptools/version.py", line 1, in <module>
    import pkg_resources
  File "<frozen importlib._bootstrap>", line 211, in _lock_unlock_module
  File "<frozen importlib._bootstrap>", line 107, in acquire
KeyboardInterrupt

解决

我有三个实验环境,其中有两个遇到了问题,仅有一个是正常的。

  1. 首先根据日志中提到的包,逐个比较三个环境中包版本的异同,发现正常的环境中普遍包的版本都更低一点。考虑是否需要降级,但是优先考虑是否升级包版本能解决。
  2. 逐个导入上述包,发现单独导入都是可以的,并且除了pkg_resources外都能查看到版本。
  3. 根据抛出的异常信息,由下至上逐个升级,发现pkg_resources找不到包,于是接定位到setuptools,升级67.4.0后发现问题解决了
  4. 两个有问题的环境分别升级后都发现问题解决了。原本两个有问题的环境中的setuptools是65.6.3和65.5.1,正常的环境是62.1.0.把有问题的环境升级到67.4.0就可以了。

后续更新

https://stackoverflow.com/questions/7446187/no-module-named-pkg-resources

朋友给我发了这个帖子,原来问题的关键可能不在于setuptools的版本,而在升级或重装

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值