A-A+

VPS 超详细安装python3 最新版 及解决各种附加问题

2024年02月02日 12:43 学习笔记 暂无评论 共4946字 (阅读377 views次)

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】

首先建议给自己的VPS装BBR加速,此方法不在本文中讲解,具体查看:centos7.6 更新内核并使用BBR加速

查看系统是否存在Test::More和Text::Template模块

因为openssl安装过程中是需要用到这两个模块的,所以一定要查看一下,当前系统这两个模块的安装及版本情况。

##查看Test::More安装情况,如显示则表示安装,这里就需要注意版本
cpan -a | grep Test::More
###Test::More                     0.92  1.302171  EXODIST/Test-Simple-1.302171.tar.gz

##查看Text::Template安装情况,无结果则表示未安装此模块
cpan -a | grep Text::Template

这里我说一下我安装的版本:Test-Simple-1.302198Text-Template-1.61 如果你的版本很低,建议升级到高一些的版本,如果差不多,那可以忽略,直接到openssl安装环节

 

避免ExtUtils/MakeMaker.pm makefile.pl 模块安装报错

首先在linux控制台必须执行下面两条语句:

 

yum install perl-ExtUtils-MakeMaker
yum -y install perl-CPAN

 

------下面解释执行上述两条语句的原因------

执行上面两条语句的主要原因是:在安装Openssl是需要用到两个模块,分别是Test::MoreText::Template模块,如果不执行上面的语句,安装这两个模块时很有可能报错:

 

# perl Makefile.PL
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: inc /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at inc/Module/Install/Can.pm line 5.
BEGIN failed--compilation aborted at inc/Module/Install/Can.pm line 5.
Compilation failed in require at inc/Module/Install.pm line 307.
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: inc /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at inc/Module/Install/Makefile.pm line 4.
BEGIN failed--compilation aborted at inc/Module/Install/Makefile.pm line 4.
Compilation failed in require at inc/Module/Install.pm line 307.
Can't locate ExtUtils/MM_Unix.pm in @INC (@INC contains: inc /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at inc/Module/Install/Metadata.pm line 322.

缺少依赖报错:

# perl Makefile.PL
*** Module::AutoInstall version 1.06
*** Checking for Perl dependencies...
Can't locate CPAN.pm in @INC (@INC contains: inc /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at inc/Module/AutoInstall.pm line 304.

所以上述两个是一定要安装的。

 

Test::More和Text::Template模块安装

从 CPAN(http://search.cpan.org/)搜索并下载Test::MoreText::Template模块的源代码包,Test-Simple-1.302198.tar.gz和Text-Template-1.61.tar.gz 。这两个包安装方式一样,这里以安装Text::Template模块为例:

 

##下载模块
wget https://cpan.metacpan.org/authors/id/M/MS/MSCHOUT/Text-Template-1.61.tar.gz
##另一个模块的下载地址:https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Test-Simple-1.302198.tar.gz

##解压模块文件
tar -zxvf Text-Template-1.61.tar.gz

##进入目录
cd Text-Template-1.61

##执行Perl模块中的Perl脚本,用于生成一个Makefile,
perl Makefile.PL

##用于从源代码构建和安装软件的命令。 运行Perl模块的测试套件,以确保其正确运行。 将Perl模块安装到系统上的命令。
make && make test && make install

Test::More模块用同样的方式安装,安装完成后,再次查看这两个模块的版本号:

images

至此openssl前期所需的模块已安装完毕!

 

openssl 最新版 安装

首先安装一下各种依赖,执行如下命令:

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
yum install wget

然后执行如下命令:

cd /usr/local/src
##下载openssl-1.1.1w 版本,此处也可以根据你自己的需求安装其它版本,过程一样。
wget https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz
tar -zxvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w/
./config --prefix=/usr/local/openssl  shared zlib --openssldir=/usr/local/openssl
make && make test && make install

mv /usr/bin/openssl /usr/bin/openssl_backup
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

##执行这步,其实就没必要执行下面的步骤了
cp /usr/local/openssl/lib/*.so.1.1 /usr/lib64/

##与上面的CP命令二选一,执行上面的就没必要执行这里了。
#ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
#ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
###ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
###ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1

##查看版本
openssl version

如果不执行so.1.1文件复制或者创建软连接,那么很容易爆如下错:

/usr/local/openssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

所以一定要执行。

 

安装最新版 python3

依次执行如下命令:

yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel wget gcc make
yum install libffi-devel -y

##上述3个命令是安装Python3所必须的
##下面我选择安装3.10版本,这里你可以安装python3的任意版本,如最新版都OK
cd /usr/local/src
wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tar.xz
tar -xvJf  Python-3.10.13.tar.xz
cd Python-3.10.13/

##下面要开始配置并编译
./configure -C --with-openssl=/usr/local/openssl --with-openssl-rpath=auto --prefix=/usr/local/python3
# 调试用: ./configure -C --with-openssl=/usr/local/openssl --with-openssl-rpath=auto --prefix=/usr/local/python3 2>&1 | tee configure.log

##下面开始编译
make -j8
# 调试用: make 2>&1 | tee make.log

make altinstall
# 调试用: make altinstall 2>&1 | tee install.log

##创建软连接
ln -s /usr/local/python3/bin/python3.10 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.10 /usr/bin/pip3
ln -s /usr/local/python3/bin/python3.10-config /usr/bin/python3-config

##查看是否安装成功
python3 -V

##更新pip3
pip3 install --upgrade pip

##更新python3常用库
pip3 install --upgrade setuptools -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

至此,python3最新版安装就全部OK

验证ssl及_ssl是否安装成功

python3
Python 3.10.13 (main, Jan 16 2024, 15:02:11) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> import _ssl

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×

给我留言