conda虚拟环境安装celery出现的pkg_resources.DistributedNotFound

如果出现以下问题

>>> celery -A amp worker --loglevel=info -c 3 -P gevent
Traceback (most recent call last):
  File "/usr/bin/celery", line 27, in <module>
    load_entry_point("celery", "console_scripts", "celery")()
  File "/home/zxy/anaconda3/lib/python3.9/site-packages/pkg_resources/__init__.py", line 485, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/home/zxy/anaconda3/lib/python3.9/site-packages/pkg_resources/__init__.py", line 477, in get_distribution
    dist = get_provider(dist)
  File "/home/zxy/anaconda3/lib/python3.9/site-packages/pkg_resources/__init__.py", line 353, in get_provider
    return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
  File "/home/zxy/anaconda3/lib/python3.9/site-packages/pkg_resources/__init__.py", line 897, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/home/zxy/anaconda3/lib/python3.9/site-packages/pkg_resources/__init__.py", line 783, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'celery' distribution was not found and is required by the application

 首先,将/usr/bin/celery里python的编译器改一下(但大概率不会成功)

sudo vi /usr/bin/celery
#!/home/zxy/anaconda3/env/amp/bin/python

确认celery已经安装之后,输入

celery worker --help

如果出现以下报错

Traceback (most recent call last):
  File "/home/zxy/anaconda3/envs/amp/bin/celery", line 8, in <module>
    sys.exit(main())
  File "/home/zxy/anaconda3/envs/amp/lib/python3.7/site-packages/celery/__main__.py", line 14, in main
    from celery.bin.celery import main as _main
  File "/home/zxy/anaconda3/envs/amp/lib/python3.7/site-packages/celery/bin/celery.py", line 14, in <module>
    from celery.app.utils import find_app
  File "/home/zxy/anaconda3/envs/amp/lib/python3.7/site-packages/celery/app/__init__.py", line 2, in <module>
    from celery import _state
  File "/home/zxy/anaconda3/envs/amp/lib/python3.7/site-packages/celery/_state.py", line 15, in <module>
    from celery.utils.threads import LocalStack
  File "/home/zxy/anaconda3/envs/amp/lib/python3.7/site-packages/celery/utils/__init__.py", line 16, in <module>
    from .nodenames import nodename, nodesplit, worker_direct
  File "/home/zxy/anaconda3/envs/amp/lib/python3.7/site-packages/celery/utils/nodenames.py", line 6, in <module>
    from kombu.entity import Exchange, Queue
  File "/home/zxy/anaconda3/envs/amp/lib/python3.7/site-packages/kombu/entity.py", line 7, in <module>
    from .serialization import prepare_accept_content
  File "/home/zxy/anaconda3/envs/amp/lib/python3.7/site-packages/kombu/serialization.py", line 440, in <module>
    for ep, args in entrypoints('kombu.serializers'):  # pragma: no cover
  File "/home/zxy/anaconda3/envs/amp/lib/python3.7/site-packages/kombu/utils/compat.py", line 82, in entrypoints
    for ep in importlib_metadata.entry_points().get(namespace, [])
AttributeError: 'EntryPoints' object has no attribute 'get'

尝试硬性更改importlib-metadata

!pip install importlib-metadata==4.13.0

再次输入celery worker --help应该就没问题了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值