** Preface **
本文是在centos7.1安装python3.x的记录。踩了不少坑,记录下。心酸,docker化势在必行!!!!!!
** 安装python3.x **
** 先安装安装几个必须的包,以方便后续的操作 **
1 2 3
|
yum -y install wget gcc make zlib-devel readline-devel bzip2-devel ncurses-devel sqlite-devel gdbm-devel xz-devel
|
** 上Python的官网 下载源码包 **
1
| wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
|
** 解包,解压缩 **
1 2
| xz -d Python-3.6.1.tar.xz tar -xvf Python-3.6.1.tar
|
** 编译 **
1 2
| cd Python-3.6.1 ./configure --prefix=/usr/local/python3.6 --enable-optimizations
|
先解释下上面的参数,--prefix
是预期安装目录,--enable-optimizations
是优化选项(LTO,PGO 等)加上这个 flag 编译后,性能有 10% 左右的优化,但是这会明显的增加编译时间。不过关于 LTO 和 PGO 其实不在今天文章的讨论范围内,感兴趣的可以看看 GCC 中 LTO 的具体实现(GNU Compiler Collection (GCC) Internals: LTO Overview)。
** 接下来 **
** 编译安装完成后,执行 **
1 2
| ➜ /usr/local/python3.6/bin/python3 --version Python 3.6.1
|
Python 3 也就安装成功了。
** 为了避免每次都输入一大串路径,加个链接 **
1
| ➜ ln -s /usr/local/python3.6/bin/python3 /usr/bin/python3
|
以上的命令整理为如下的shell
1 2 3 4 5 6 7 8 9 10 11 12
| #!/bin/bash
yum -y install wget gcc make zlib-devel readline-devel bzip2-devel ncurses-devel sqlite-devel gdbm-devel xz-devel tk-devel openssl-devel wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz xz -d Python-3.6.1.tar.xz tar -xvf Python-3.6.1.tar cd Python-3.6.1 ./configure --prefix=/usr/local/python3.6 --enable-optimizations make make install ln -s /usr/local/python3.6/bin/python3 /usr/bin/python3
|
** 安装pip3.x **
** 安装pip2.x **
1 2 3 4 5 6 7 8 9
| $ sudo yum -y install epel-release
$ sudo yum -y install python-pip
$ sudo yum clean all 通过这种方式貌似只能安装 pip2,想要安装 Python 3 的 pip,可以通过以下的源代码安装方式。
|
** 源码安装pip3.x **
1 2 3 4 5 6 7 8 9
| $ wget --no-check-certificate https://github.com/pypa/pip/archive/9.0.1.tar.gz
$ tar -zvxf 9.0.1.tar.gz
$ cd pip-9.0.1
$ python3 setup.py install
|
** 创建链接 **
1
| $ sudo ln -s /usr/local/python3.6/bin/pip /usr/bin/pip3
|
** 升级 pip **
1
| $ pip install --upgrade pip
|
以上的命令整理为如下的shell
1 2 3 4 5 6 7 8 9 10 11
| #!/bin/bash # author: Sail
yum -y install epel-release python-pip yum clean all
wget --no-check-certificate https://github.com/pypa/pip/archive/9.0.1.tar.gz tar -zvxf 9.0.1.tar.gz cd pip-9.0.1 python3 setup.py install ln -s /usr/local/python3.6/bin/pip /usr/bin/pip3
|
*******************
** 参考 **
在 CentOS 7 上安装并配置 Python 3.6 环境
CentOS 7 安装Python3、pip3
python3中pip3安装出错,找不到SSL
no acceptable C compiler found in $PATH