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