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