在CentOS 7上安装Python3

源码包安装

Python官方没有对Linux打包, 需要下载源码包进行编译.

可以自己下载最新版本的Python, 在Python下载页面, 点击Python3.x.x版本对应的Download, 在新页面的Files下, 选择Source release, 选择Gzipped source tarball或者XZ compressed source tarball压缩方式的包, 我选择的是tgz压缩.

Python3.6.5

下载源码包

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

解压

tar -xzvf Python-3.6.5.tgz

安装依赖

yum install zlib zlib-devel libffi-devel -y

编译

cd Python-3.6.5
./configure --prefix=/usr/local/src/python3.6 --enable-optimizations
make
make install

--enable-optimizations是优化选项(LTO,PGO等)加上这个flag编译后,性能有10%左右的优化,但是这会明显的增加编译时间。

会安装在/usr/local/python3.6, 在/bin下和/usr/local/bin下有python3.6的可执行文件, 如果做软连接到python3, 在执行python3的时候会报错.

使用源安装

安装ius

# 依赖epel
yum install epel-release
yum install https://centos7.iuscommunity.org/ius-release.rpm

安装Python

IUS软件包的命名方式为软件名+版本号+次版本号+u, Python的包名为python36u.

yum install python36u python36u-pip python36u-devel

安装虚拟环境

pip3.6 install virtualenv virtualenvwrapper

编辑home目录下的.bashrc.zshrc(.zshrczsh的配置文件),
vi ~/.bashrc, 在文件最后添加($HOME/.virtual是虚拟环境的路径, 自定义):

WORKON_HOME=$HOME/.virtual
source /usr/bin/virtualenvwrapper.sh

保存退出, 在shell中执行source .bashrc, 进入虚拟环境目录cd ~/.virtual, 执行

virtualenv -p /usr/bin/python3.6 --no-site-packages py3

-p是生成指定python版本的虚拟环境, 是个路径

--no-site-packages是不将系统Python的库包复制到虚拟环境中.

py3是虚拟环境的名称, 可以自定义

使用workon py3进入虚拟环境.

原文地址:https://www.cnblogs.com/zzhaolei/p/11067817.html