返回顶部
首页 > 资讯 > 操作系统 >Linux安装Python3.11以及解决openssl问题
  • 894
分享到

Linux安装Python3.11以及解决openssl问题

linuxpython3.11python 2023-09-07 18:09:39 894人浏览 薄情痞子
摘要

linux系统安装python3 Linux系统:Centos7 python版本:3.11 1、查看系统自带Python 默认情况下,Linux会自带安装Python,可以运行pytho

linux系统安装python3

Linux系统:Centos7

python版本:3.11

1、查看系统自带Python

默认情况下,Linux会自带安装Python,可以运行python --version命令查看。

我们看到Linux中已经自带了Python2.7.5。再次运行python命令后就可以使用python命令窗口了(Ctrl+D退出python命令窗口)。

2、查看Linux默认安装的Python位置

看到/usr/bin/python和/usr/bin/python2都是软链接,/usr/bin/python指向/usr/bin/python2,而/usr/bin/python2最终又指向/usr/bin/python2.7。所以运行python/python2/python2.7是一样的。

3、安装python3

(1)下载sdk

登录https://www.python.org/downloads/source/,找到对应版本(我们以Python-3.11.3为例)。

直接下载(略过步骤(2)文件上传):

wget https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tgz

(2)文件上传

将文件上传到Linux系统的某个目录下,根据自己情况上传,本例上传到了 /usr/local/mydev/python目录下.

(3)解压

执行 tar -zxvf Python-3.11.3.tgz命令,将文件解压到当前目录。

(4)准备编译环境

执行如下命令:

yum -y install GCc make zlib zlib-devel libffi libffi-devel readline-devel openssl-devel openssl11 openssl11-devel

(5)安装openssl11,后期的pip3安装网络相关模块需要用到ssl模块。

export CFLAGS=$(pkg-config --cflags openssl11)export LDFLAGS=$(pkg-config --libs openssl11)

(6)编译安装

执行cd Python-3.11进入解压后的Python-3.11目录下,依次执行如下命令:

./configure --prefix=/usr/local/mydev/python/python3 --with-sslmake && make install

介绍:

  • --prefix :选项指定Python 3的安装目录为 /usr/local/mydev/python/python3,你可以根据自己的需要修改安装目录。(可选)。用法:--prefix=/usr/local/mydev/python/python3
  • --enable-optimizations: 选项启用优化选项,以提高Python解释器的性能。这个选项会使用一些编译器优化和调整来提高Python的执行速度,但是会增加编译时间和内存使用。(可选)
  • --with-openssl :选项指定使用哪个OpenSSL库版本编译Python。在这个例子中,Python将使用 /usr/bin/openssl 路径下的OpenSSL库,这个路径下通常是OpenSSL库的二进制可执行文件的安装位置。(可选)。用法:--with-openssl=/usr/bin/openssl
  • --with-ssl :与 --with-openssl二选一,此方式就是不指定ssl

(7)创建软连接

ln -s /usr/local/mydev/python/python3/bin/python3.11 /usr/local/bin/python3ls -l /usr/local/bin/

安装成功!当然此时还是可以使用Python2.7.5版本(运行python/python2/python2.7即可)。

(8)配置环境变量

配置环境变量主要是能快速使用pip3安装命令。

执行 vi ~/.bash_profile,打开配置文件,添加如下配置:

# 配置pythonvim ~/.bash_profileexport PYTHON_HOME=/usr/local/mydev/python/python3export PATH=$PYTHON_HOME/bin:$PATHsource ~/.bash_profile

保存退出(:wq),执行source ~/.bash_profile命令使配置生效。执行echo命令,查看是否配置成功,如图:

(9)查看及使用

python3 --version
python3

附:

1、pip镜像源安装

一般:

pip install package_name -i Http://pypi.douban.com/simple/

如果出现SSL限制:

pip3 install package_name  -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
镜像源

豆瓣 http://pypi.douban.com/simple/
中国科学技术大学http://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学http://pypi.hustunique.com/
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
山东理工大学:http://pypi.sdutlinux.org/

全局设置
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple#会在pip的根目录上新建pip.ini文件,内容如下[global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple#自行添加的[install]trusted-host=mirrors.aliyun.com#可以换成想要的镜像源

2、重新安装openssl

参考文档python3.11安装, 解决pip is configured with locations that require TLS/SSL问题

原因:系统版本centos7.4,其中openssl的版本为OpenSSL 1.0.2k-fips,而python3.11需要的openssl的版本为1.1.x及以上,需要对openssl进行升级,并重新编译python3.11(yum 安装的openssl 版本都比较低)。

1.下载openssl
wget https://www.openssl.org/source/openssl-3.0.7.tar.gztar -zxvf openssl-3.0.7.tar.gzcd openssl-3.0.7
2.编译安装
./config --prefix=/usr/local/opensslmakemake install
3.备份原配置
mv /usr/bin/openssl /usr/bin/openssl.bakmv /usr/include/openssl/ /usr/include/openssl.bak
4.新版配置
ln -s /usr/local/openssl/include/openssl /usr/include/opensslln -s /usr/local/openssl/lib64/libssl.so.3 /usr/local/lib64/libssl.soln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
5.写入openssl库文件的搜索路径
echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf
6.使修改后的/etc/ld.so.conf生效
ldconfig -v
7.查看openssl版本
openssl version
8.查看openssl的位置
which openssl

来源地址:https://blog.csdn.net/qq_45028361/article/details/130801826

--结束END--

本文标题: Linux安装Python3.11以及解决openssl问题

本文链接: https://lsjlt.com/news/398780.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作