1 Python3安装Celery模块后执行Celery命令报错
pip3 install celery # 安装正常,但是执行celery 命令的时候提示没有_ssl模块什么的
手动在Python解释器中导入,发现有如下错误。
[root@namenode ~]# python3 Python 3.6.4 (default, Dec 21 2017, 17:26:43) [GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import ssl Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/python3/lib/python3/ssl.py", line 60, in <module> import _ssl # if we can't import it, let the error propagate ImportError: No module named _ssl >>>
由于系统为CentOS 6.7,内置的是Python2.6,使用2.6测试是正常的,怀疑是不是编译安装时的问题。
2 编译安装Python3
下面是我编译安装Python3的步骤
1、执行编译配置检查 ./configure --prefix=/usr/local/python3 2、编译 make 3、安装 make install
基本都这样安装的没有报什么错。
3 排错
查阅网上资料说编译安装时需要依赖SSL,然后我就添加了如下参数重新编译安装。
1、执行编译配置检查 ./configure --with-ssl --prefix=/usr/local/python3 2、编译 make 3、安装 make install
在配置检查阶段提示少了部分ssl文件,缺少openssl的部分文件,我又执行了如下命令
yum install -y openssl-devel
这样就允许安装的python3使用ssl功能模块,进入python3中,执行import ssl发现未出错,正常再次调用celery,发现正常,问题解决!
PS:自己安装的Python3,命令行进入解释器,如果delete键删除乱码的话,可以按照如下方式解决
# 安装多行依赖 yum install -y readline readline-devel # 重新编译python3 make & make install