Linux 下如何使用源码安装 python3 以及 pip3

一、运行环境

CentOS 7,已安装 gcc、zlib、zlib-devel 等编译工具。

18/09/11 更新

Python3.7 及之后,需加装 libffi-devel 以解决“ModuleNotFoundError: No module named '_ctypes'”问题:

# yum install libffi-devel -y

Ubuntu 则运行此命令安装编译工具:

# apt-get install build-essential zlib1g zlib1g-dev

二、安装步骤

1、下载源码包

最新版本发布地址:Python Release,目前(17/08)是 3.6.2。

# wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
# tar -zxf Python-3.6.2.tgz && cd Python-3.6.2

2、安装 readline 模块

若不安装该模块,编译安装后 Python 交互式无法使用退格键,方向键。

# yum install libreadline6 libreadline6-dev

3、解决PIP包管理器所需依赖包

修改 Modules/Setup 文件,将下面 1 行取消注释,大概在文件的 365 行左右。

# vim Modules/Setup.dist
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

4、编译源码并安装

指定安装目录:/usr/local/python3。

# ./configure --prefix=/usr/local/python3 && make && make install 

5、创建链接

将 Python3 以及后续通过 pip3 安装的软件的可执行文件添加到 PATH

# echo 'PATH=$PATH:/usr/local/python3/bin' >> ~/.bashrc && source ~/.bashrc

6、验证一下

# python3 -V
Python 3.6.2

三、拓展

1、通过 yum 安装 python3 以及 pip3

# yum -y install https://centos7.iuscommunity.org/ius-release.rpm
# yum -y install python36u python36u-pip python36u-devel
# python3.6 -V
Python 3.6.2

2、替换系统默认版本 python 为 python3

# mv python python.bak
# ln -s /usr/local/python3/bin/python3 /usr/bin/python

由于 yum 使用默认 2.7 版本,被替换后会出现问题,修改一下 /usr/bin/yum,将第一行的 #!/usr/bin/python 改为 #!/usr/bin/python2.7 即可。


ArmxMod for Typecho
个性化、自适应、功能强大的响应式主题

推广

 继续浏览关于 linuxpythonpip 的文章

 本文最后更新于 2018/09/11 11:25:14,可能因经年累月而与现状有所差异

 引用转载请注明:VirCloud's Blog > 运维 > Linux 下如何使用源码安装 python3 以及 pip3