这是由于一个bug导致,某个python包版本过低,导致无法celery无法正常连接amqp,一般更新所有的pip包进行处理,这里附加一段更新升级pip包的代码:
import pip
import time
from pip._internal.utils.misc import get_installed_distributions
from subprocess import call
for dist in get_installed_distributions():
print(dist.project_name)
for dist in get_installed_distributions():
print("updating:", dist.project_name, "\t")
print(time.asctime( time.localtime(time.time()) ))
for dist in get_installed_distributions():
print("updating:", dist.project_name, "\t")
print(time.asctime( time.localtime(time.time()) ))
# 执行后,pip默认为Python3版本
# 双版本下需要更新Python2版本的包,使用py2运行,并将pip修改成pip2
call("pip3 install --upgrade " + dist.project_name, shell=True)
需要使用pip 10 以上的版本才能 使用 get_installed_distributions 方法哦。
网友评论