IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 一,Python3.x系列源码编译安装 -> 正文阅读

[系统运维]一,Python3.x系列源码编译安装

一,准备,下载你所需要的Python对应版本的代码包

1.直接上官网https://www.python.org下载自己所需要的Python对应版本的代码包,然后上传到服务器 /usr/local 目录下

比如:${VERSION} 对应是 python 的版本号,例如 3.7.9

https://www.python.org/ftp/python/${VERSION}/Python-${VERSION}.tgz

2. 在系统中对相关依赖进行安装(必须)

如果不安装的话,你可能在 pip 包的时候会出现类似 ImportError: No module named '_ctypes' 这样的问题。

# Centos

$ yum install libffi-devel

# Ubuntu

$ sudo apt-get install libffi-dev

3.将python代码包在所在目录下进行解压 tar -xvf Python-3.7.9.tgz ### 你会在当前目录看到 Python-3.7.9 的目录包。

4. 编译安装

首先确定工作目录在 Python-3.7.9 下,在此也就是/usr/local/Python-3.7.9 目录下

1、创建安装目录

$ mkdir /usr/local/python3.7

# 2、配置编译安装目录

$ ./configure prefix=/usr/local/python3.7 # prefix的含义,指定了路径

# 3、编译 & 安装

$ make && make install

当编译安装完成后看到有 successfly 的标识后,此时说明安装成功。

# 如果在编译安装时报错:

Could not build the ssl module!

Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host().

LibreSSL 2.6.4 and earlier do not provide the necessary APIs, https://github.com/libressl-portable/portable/issues/381

解决方法:

1. 安装 libressl 代替openssl-devel

libressl 是 openssl 更安全版本分支,生产环境建议使用 libressl 替代 openssl。

① 在官网对LibreSSL包进行下载,下载最新稳定版本到/usr/local目录下

https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.7.4.tar.gz

② 解压到/usr/local目录下

tar -zxvf libressl-2.7.4.tar.gz

③ 编译安装:

cd libressl-2.7.4

./configure --prefix=/usr/local/libressl2.7.4

make install

④ 新建或修改 /etc/ld.so.conf.d/local.conf 配置文件,添加如下内容:

/usr/local/lib

即将 /usr/local/lib 目录加入到模块加载目录。

⑤ 重新加载共享模块:

cd /usr/local/Python-3.7.9

ldconfig -v

openssl version # 查看libressl版本

⑥ 回到 Python-3.7.0 目录,编辑安装文件 Modules/Setup

删除有关 ssl 编译代码的注释,共 4 行,并修改 SSL 目录为 SSL=/usr/local, 如下所示:

# Socket module helper for SSL support; you must comment out the other

# socket line above, and possibly edit the SSL variable:

SSL=/usr/local

_ssl _ssl.c \

-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \

-L$(SSL)/lib -lssl -lcrypto

⑦ 重新配置、编译:

cd /usr/local/Python-3.7.9

./configure --prefix=/usr/local/python3.7

make ## 编译成功,没有报错的话执行安装:

make install

5. 配置软连接,快捷启动python3和pip3,也可以设置环境变量进行

# 设置 python 访问软链接 ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3.7 # 设置 pip 访问软链接 ln -s /usr/local/python3.7/bin/pip3.7 /usr/bin/pip3.7

6.验证

#python3.8

Python 3.8.9 (default, Dec 3 2021, 00:07:38)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> exit() # 输入exit() 退出

#pip3.8 -V

pip 20.2.3 from /usr/local/python3.8.9/lib/python3.8/site-packages/pip (python 3.8)

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:38:51  更:2021-12-26 22:41:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 6:58:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码