本文档适用于centos,其他的linux可以用类似的步骤来安装。
安装依赖包
yum install -y zlib-devel bzip2-devel
yum install -y openssl-devel
yum install -y tcl-devel
yum install -y tk-devel
yum install -y libffi libffi-devel
yum install -y readline-devel sqlite-devel gdbm-devel libdbi-devel ncurses-libs
安装python3
先把安装包copy到一个目录,然后解压安装。
tar -zxvf Python-3.7.6.tgz
cd Python-3.7.6
./configure --prefix=/usr/local
make && make install
安装完成后会在/usr/local/bin目录生成Ppython3.7可执行文件,库文件位于/usr/local/lib/python3.7。
注意:如果系统已经安装了python3.x,而且也是安装在/usr/local/bin, 需要先导出已经安装的包,然后再安装,安装完后再重新导入 (见下文)。
在/usr/bin目录下创建新的python链接
ln -s /usr/local/bin/python3.7 /usr/bin/python3
ln -s /usr/local/bin/pip3.7 /usr/bin/pip3
添加搜索路径,导入原来安装的包
系统中原来安装的第三方python软件包通常位于下面两个目录:
/usr/lib64/python3.x/site-packages
/usr/lib/python3.x/site-packages
这两个文件夹不在新安装的python的搜索路径中。在目录/usr/local/lib/python3.7/site-packages/中创建一个新文件python3_path.pth,然后把上面两个目录放到这个文件中,新安装的python就能找到系统中原来安装的第三方软件包了。
# cat /usr/local/lib/python3.7/site-packages/python3_path.pth
/usr/lib64/python3.x/site-packages/
/usr/lib/python3.x/site-packages
python3重新安装时如何重新导入第三方包
导出已经安装好的第三方包:
pip3 freeze > requirements.txt
安装新版本的python,安装完成后重新导入所有的第三方包:
pip3 install -r requirements.txt