python import 报错 No module named '_ssh'

linux 上import 时的一种报错

查询下openssl 是否安装,或者版本太低,python3需要openssl 1.0以上版本

openssl version

 安装与卸载 openssl

安装依赖:

yum install -y gcc pam-devel zlib-devel perl expat-devel perl-Time-HiRes perl-Test-Harness perl-Test-Simple xinetd telnet-server vsftpd

  

卸载openssl:

whereis openssl |xargs rm -frv

官网(http://www.openssl.org/source/)下载openssl编译安装,版本根据需求选择:

wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
tar zxf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=/usr/local/openssl shared zlib
make && make install 

 

执行 openssl   lib 路径

export LD_LIBRARY_PATH=/usr/local/openssl/lib

 

卸载重新编译安装python3

卸载(卸载需谨慎,可以先直接装新版本,没问题再卸载旧版本):

whereis python3 |xargs rm -frv
rm -rf /usr/local/bin/python3 /usr/local/bin/pip3 

 

python 下载重新编译安装,有旧版本的,直接起个别名即可,例如;python3.8,

后面加上  --with-openssl=/usr/local/openssl  来指定openssl 位置 很关键

1、wget http://npm.taobao.org/mirrors/python/3.8.0/Python-3.8.0.tgz
2、tar -xzf Python-3.8.0.tgz
3、cd Python-3.8.0
4、./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
5、make && make install

给新安装的软件 设置软连接, 这样就可以直接在命令行使用了

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

  

posted on 2023-06-19 11:17  Mlianga  阅读(90)  评论(0编辑  收藏  举报

导航