CentOS7环境下源码安装Python3.5
因为前一段时间折腾过mysql5.7的源码安装,所以这次Python3.5的安装问题不大,主要还是pip的问题
Python3.5大致的安装过程
# 官网下载源码文件包 $ wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz # 解压 $ tar xvJf Python-3.5.1.tar.xz # 进入目录 $ cd Python-3.5.1 # 建立文件夹(直接在目录编译、安装也可以) $ mkdir bld $ cd bld/ # 生成Makefile $ ../configure # 编译 $ make all -j 3 # 安装 $ make install # 查看安装后的位置 里面包含了CentOS自带的2.7版本和新安装的3.5版本(最好不要改动系统自带的版本,因为系统可能某些地方依赖之前的2.7版本) $ whereis python python: /usr/bin/python2.7 /usr/bin/python /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/local/bin/python3.5m /usr/local/bin/python3.5 /usr/local/bin/python3.5m-config /usr/local/bin/python3.5-config /usr/local/lib/python3.5 /usr/include/python2.7 /usr/share/man/man1/python.1.gz
在安装完Python3.5后发现,pip并没有一同安装到
看了下官方文档介绍:
Do I need to install pip? pip is already installed if you're using Python 2 >=2.7.9 or Python 3 >=3.4 downloaded frompython.org, but you'll need to upgrade pip. Additionally, pip will already be installed if you're working in a Virtual Envionment created byvirtualenv or pyvenv.
这样很不科学嘛,所以就尝试着文档里面用另外一种方法去安装pip
Installing with get-pip.py To install pip, securely download get-pip.py. Then run the following: python get-pip.py
在安装的过程中出现了错误:
ImportError: cannot import name HTTPSHandler
去网上查找原因,大概是因为缺少了openssl和openssl-devel和krb5-devel
我的环境是CentOS7,使用yum安装了一下:
$ yum install openssl openssl-devel -y $ yum install krb5-devel
重新编译和安装了一下Python3.5
# 最后提示内容 Collecting setuptools Collecting pip Installing collected packages: setuptools, pip Successfully installed pip-7.1.2 setuptools-18.2 # pip已经自动安装了(可能是因为之前依赖不完全,所以在第一次安装mysql的时候,自动安装pip失败了) $ pip3 --version pip 7.1.2 from /usr/local/lib/python3.5/site-packages (python 3.5) # 升级一下 $ /usr/local/bin/pip3 install -U pip
相关链接
pip官方文档: https://pip.pypa.io/en/stable/installing/#upgrading-pip