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
步骤略
- 载在解压的文件中找到 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)/include−I(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