centos安装python

python安装

本文已更新,亲测安装成功。

为什么用3.6.8?
安装了3.7,碰到一个坑,版本不匹配,当然,根据个人需要,可以装自己喜欢的版本

1.组件安装

需要安装组件:libffi-devel,否则在部署python项目时,会遇到错误。这边提前安装了

yum install libffi-devel -y

# 这一步不一定需要,centos7.0可能需要。不然安装到make&&make install的时候,会有error
yum -y install zlib*

依赖安装

# openssl,bzip,等。如果有报错,请到文章末尾看

# centos8可以用这个,
# yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
#centos7推荐用这个
yum -y install openssl-devel bzip2-devel sqlite-devel readline-devel expat-devel gdbm-devel zlib-devel zlib* ncurses-devel libffi-devel tk-devel libffi-devel

#安装make编译所需的gcc,g++编译器

yum -y install gcc automake autoconf libtool make wget

下载Python安装包

# 进入指定路径

cd /usr/local

# 下载python源码(建议迅雷下载)
wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

# 解压源码压缩包
tar -zxvf Python-3.9.6.tgz
tar -zxvf Python-3.6.8.tgz
tar -zxvf Python-3.8.3.tgz
tar -zxvf Python-3.7.0.tgz

# 把解压后的文件名改为python3
mv /usr/local/Python-3.9.6/ ./python3
mv /usr/local/Python-3.6.8/ ./python3
mv /usr/local/Python-3.8.3/ ./python3
mv /usr/local/Python-3.7.0/ ./python3


安装python

# 进入目录
cd /usr/local/python3

# 编译 和安装
./configure --prefix=/usr/local/python3 # 安装到这个目录
# ./configure       后边prefix不写,就是当前目录

make && make install

创建软连接


# 绑定软连接,这里需要绑定到你安装的目录。

mv /usr/bin/python /usr/bin/python.bak	# 做了这一步之后,记得看本文章最末!
# 因为系统自带的python环境找不到了。yum会报错
# 软连接python
ln -s /usr/local/python3/bin/python3 /usr/bin/python
# 软连接pip
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

# 移除软连接,和删除目录一样。rm -rf /usr/bin/pip

# 验证是否安装成功
pip -V
python -V

安装过程中的报错

centos7, zipimport报错

报错内容
zipimport.ZipImportError: can't decompress data; zlib not available
解决方案
yum -y install zlib*

然后再回到
make&&make install

centOS 安装python高版本后,yum报错


# 查看系统原来的python版本命令:
whereis python

# 原因:yum使用的python环境不适应

# 解决方案:编辑如下两个文件,文件的第一行,指定系统原来的python版本
/usr/bin/yum
/usr/libexec/urlgrabber-ext-down

修改第一行如下(版本要自己更换)

#!/usr/bin/python2.7

依赖安装时报错:

libselinux conflicts with fakesystemd-1-17.el7.centos.noarch

yum swap -y fakesystemd systemd && yum clean all
yum update -y  && yum clean all

你可能感兴趣的:(Linux,python,python)