环境: linux(CentOS 7)
安装必备软件包:
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc
python3.6安装源:
下载地址:https://www.python.org/ftp/python
安装路径:
/usr/local/python3.6
首先,创建安装目录:
mkdir /usr/local/python3.6
然后,下载安装并解压:
wget --no-check-certificate https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
tar -xzvf Python-3.6.5.tgz
cd Python-3.6.5
编译安装:
./configure --prefix=/usr/local/python3.6
make
make install
安装完成后,创建python3链接:
ln -s /usr/local/python3.5/bin/python3 /usr/bin/python3
这里抛出了一个error:
zipimport.ZipImportError: can't decompress data; zlib not available
需要下载zlib后,重新编译:
yum install zlib.i686
yum install zlib-devel.x86_64
make install
setuptools安装源:
https://pypi.org/project/setuptools/
接着安装setuptools:
wget https://files.pythonhosted.org/packages/1a/04/d6f1159feaccdfc508517dba1929eb93a2854de729fa68da9d5c6b48fa00/setuptools-39.2.0.zip
unzip setuptools-39.2.0.zip
cd setuptools-39.2.0/
python3 setup.py install
接着进入安装目录重新编译:
cd /usr/local/Python-3.6.5
make && make install
pip安装源:
https://pypi.org/project/pip/
接下来安装pip:
wget --no-check-certificate https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz
tar -zxvf pip-10.0.1.tar.gz
cd pip-10.0.1/
python3 setup.py install
接着进入安装目录重新编译:
cd /usr/local/Python-3.6.5
make && make install
创建pip3链接:
ln -s /usr/local/python3.6/bin/pip3 /usr/bin/pip3
下面使用pip3验证一下:
pip3 install requests
抛出异常:
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
安装openssl以及openssl-devel
yum install openssl
yum install openssl-devel
重新编译:
make && make install
将python路径添加至环境变量:
vi /etc/profile
添加:
export PATH=/usr/local/python3.6/bin:$PATH
source /etc/profile # 立即生效
如果python安装编译时提示Could not build the ssl module! Python requires a OpenSSL 1.1.1 or newer,可以参考一下文章将centos下的openssl版本进行升级。
CentOS如何升级openssl到最新版本 - Cobcmw - 博客园 (cnblogs.com)