Centos6.8 ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Centos6.8 装 pyenv

##安装prenv

 git clone https://github.com/pyenv/pyenv.git ~/.pyenv
 echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
 echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
 echo 'eval "$(pyenv init -)"' >> ~/.bashrc
 exec $SHELL -l

##安装pyenv-virtualenv:

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
exec $SHELL -l

然后用prenv安装python3.7.2

 pyenv install 3.7.2
 # 一直不成功,报错如下:
 ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

原因是python3.7的ssl模块依赖openssl 1.0.2或者1.1以上版本,如果openssl版本低于以上版本,将无法正常安装python3.7 的ssl模块,各种探索之后,采用重装openssl的方式终于解决了此问题,解决方案如下:

sudo wget https://www.openssl.org/source/openssl-1.0.2r.tar.gz
sudo tar -xzvf openssl-1.0.2r.tar.gz
cd openssl-1.0.2r
sudo ./config --prefix=/usr --openssldir=/usr/openssl shared zlibs
sudo ./config --prefix=/usr --openssldir=/usr/openssl shared
sudo make
sudo make install

然后在此基础上重新安装系统版本的python3.7

sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel findutils

cd /usr/src
sudo wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
sudo tar -xvzf Python-3.7.2.tgz
cd Python-3.7.2
sudo ./configure --with-ssl
sudo make
sudo make install

另外,pip3默认使用的是旧版本的openssl,需要加软连接连接到新版本的openssl

 sudo ln -s /usr/local/bin/pip3 /usr/bin/pip3

这样也可以用pyenv去安装,这样就不会在出问题了

pyenv install 3.7.2
pyenv virtualenv 3.7.2 bookstore-3.7.2
pyenv versions
pyenv activate bookstore-3.7.2

安装Ngnix

配置yum 的nginx源

sudo vi /etc/yum.repos.d/nginx.repo

输入内容,保存退出

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1

注意:以上是centos6的版本,centos7的话把上面baseurl的6改成7

然后安装并启动Ngnix

yum install nginx
service nginx start

猜你喜欢

转载自blog.csdn.net/wst07261144/article/details/88928487
今日推荐