centos7下源码编译安装python3.8

0.简介

centos7下源码编译安装python3.8(3.7+版本均可),3.6可通过yum安装(yum install python36)略。。。
Centos安装Python3.8
centos7下源码编译安装python3.8(3.7+版本均可),3.6可通过yum安装(yum install python36)略。。。

1.安装编译相关工具

准备工作,每台机器运行过一次即可

yum -y groupinstall “Development tools”
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel
yum -y install libffi-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2.下载python源码包

访问https://www.python.org/ftp/python/,就能看到各个版本的python包了

image-20211108212857021

本文以3.8.8版本为例

下载

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

解压

tar -zxvf Python-3.8.8.tgz
3.编译安装
mkdir /usr/local/python3.8 #创建编译安装目录
cd Python-3.8.8

!!!!安装之前一定编辑setup先去掉注释,否则会报_ssl错误,详情参考下方5部分
vim Python-3.8.2/Modules/Setup ;取消以下注释

# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c

# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:

注意 3.8.8缺了timemodule.c,需要加上,否则make还是会报错;
注意每次编译前先删除安装目录/usr/local/python3.8,再创建个目录/usr/local/python3.8

安装 yum install openssl,再./configure --enable-optimizations --prefix=/usr/local/python3.8

到最后,我也没解决这些问题,我选用了最粗暴的方法:rm -rf。OpenSSL不能用了?删!Python3.8没编译成功?删!把所有删个干净后再重新安装,sudo apt-get install openssl,vim Setup,sudo ./configure --enable-optimizations --prefix=/usr/local/python3.8,sudo make,sudo make install,sudo ln -s /usr/local/python-3.8/bin/python3.8 /usr/bin/python3.8一气呵成!没有终止,没有报错!
参考:https://blog.csdn.net/weixin_37988176/article/details/109420535

./configure --prefix=/usr/local/python3.8
make && make install
4.创建软连接

python

ln -s /usr/local/python3.8/bin/python3.8 /usr/bin/python38

pip

ln -s /usr/local/python3.8/bin/pip3.8 /usr/bin/pip38
5.使用
直接使用python38、pip38命令即可

问题1 、CentOS 中无法使用make,make install 命令

提示错误:make: command not found

make是gcc的编译器,一定要安装

 1、安装:

yum -y install gcc automake autoconf libtool make

2、安装g++:

yum install gcc gcc-c++

问题2、报错make:*** No targets specified and no makefile found.Stop

我们在Linux 安装包的时候,使用make 命令出现:"make:*** No targets specified and no makefile found.Stop."这样的错误提示。

我们有三种方式可以尝试解决:

第一种:

第一、update最新版本系统软件

yum update

这个必须要执行后才可以安装我们的系统软件或者一键包。

第二、编译缺失关联软件

yum install gcc build-essential

编译执行完毕之后,我们在执行./configure && make这类的执行命令就可以解决问题。

第二种:

一、Linux下各种依赖都已经安装,是因为没有找到makefile。

如果是自己写的,确定在当前目录下;如果是源码安装,先运行./configure,生成makefile,再执行make,即可正常运行。

二、如果没有安装其他依赖先安装依赖

yum install gcc gcc-c++ autoconf automake

yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel (安装依赖zlib、openssl和pcre)

第一、update最新版本系统软件

apt-get update

这个必须要执行后才可以安装我们的系统软件或者一键包。

第二、编译缺失关联软件

apt-get install gcc build-essential

编译执行完毕之后,我们在执行./configure && make这类的执行命令就可以解决问题。

补充二:可能是因为没有安装gcc 是用来编译c程序 c++程序的,

yum-y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-develfreetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-develglib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devele2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel opensslopenssl-devel openldap openldap-devel nss_ldap openldap-clientsopenldap-servers

补充三:

wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
tar zxvf ncurses-5.6.tar.gz
./configure -prefix=/usr/local -with-shared -without-debug
make
make install
————————————————
版权声明:本文为CSDN博主「shun35」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shun35/article/details/94576800

问题3 Centos7安装NPM

1、下载
cd /home
wget https://nodejs.org/dist/v14.18.1/node-v14.18.1-linux-x64.tar.xz
2、解压
tar -xvf node-v14.18.1-linux-x64.tar.xz
3、配置环境变量
vim /etc/profile
在文件最后添加以下配置:

#Node
export NODE_HOME=/home/node-v14.18.1-linux-x64
export PATH= N O D E H O M E / b i n : NODE_HOME/bin: NODEHOME/bin:PATH
4、刷新配置
source /etc/profile
5、验证安装
node -v

npm -v

————————————————
版权声明:本文为CSDN博主「SummerGaoPlus」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_25231683/article/details/120762573

问题4、用pip3 安装 jupyter notebook 的时候 ,报 下面的错误

Collecting jupyter Could not find a version that satisfies the
requirement jupyter (from versions: ) No matching distribution found
for jupyter

是因为网络的问题,要使用国内的镜像源来加速:

pip3 install jupyterlab -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
————————————————
版权声明:本文为CSDN博主「哈皮吖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013983033/article/details/93120180

问题5 、Ubuntu安装Python3.8.2之后 import ssl 报错 没有 _ssl模块,但是原来的Python3.6.9却没有报错。 网上很多方法是直接安装依赖库,但是都行不通。后来折腾了一番重要解决了,所以记录一下解决办法。

解决办法:
1.安装依赖库(已安装可以忽略)
sudo apt install zlib-devel bzip2-devel openssl-devel libssl-dev ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
1
2. 下载、解压Python3.8.2
步骤略

  1. 载在解压的文件中找到 Python-3.8.2/Modules/Setup 文件
    vim Setup
    1
    找到

把 其中5行注释去掉,如下:

Socket module helper for socket(2)

_socket socketmodule.c timemodule.c

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

socket line above, and possibly edit the SSL variable:

vim Python-3.8.2/Modules/Setup ;取消以下注释
SSL=/usr/local/ssl
_ssl _ssl.c
-DUSE_SSL -I ( S S L ) / i n c l u d e − I (SSL)/include -I (SSL)/includeI(SSL)/include/openssl
-L$(SSL)/lib -lssl -lcrypt

保存退出:

4.把原来的Python3.8的安装文件删掉,并重新新建
rm -rf /usr/local/python3.8/
mkdir /usr/local/python3.8/
1
2
** 这里的/usr/local/python3.8/是我的安装目录,具体看你们的安装目录,下同

5.重新编译安装Python3.8
回到 安装包的目录

./configure --prefix=/usr/local/python3.8/
make
make install

python3 然后 import ssl 问题解决;

————————————————
版权声明:本文为CSDN博主「John_Doe.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_34149445/article/details/105387170

注明

部分转载自https://paker.net.cn/article?id=26

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值