在linux系统中,在终端窗口输入python命令,会提示系统自带的python版本,如图所示:
如果是pyothon2的版本,我们需要使用python3的话,不用卸载python2,可以继续安装python3。具体安装流程如下:
1. 在windows系统下载python3版本的tgz文件
官网下载地址:Python Source Releases | Python.org
点击需要的版本即可下载
wget https://www.python.org/ftp/python/3.9.17/Python-3.9.17.tgz
2.解压tgz文件
假设下载的python文件名为Python-3.x.x.tgz,则执行解压命令
tar -zxvf Python-3.9.17.tgz
文件会解压到当前目录下
3.安装依赖
执行以下命令安装python3所需的依赖
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
4.编译安装
依赖安装完成后,进入解压后的Python-3.x.x目录,执行以下命令
指定安装目录:./configure --prefix=目录绝对路径
编译:make
编译安装:make install
5.配置环境变量
安装完后的warning可能会有xxxx which is not on path的提示,这时候我们得配置环境变量
执行命令:vi /etc/profile
按下键盘i进入插入编辑模式
在文件末尾添加以下两行:
export PYTHON_HOME= 第5步中的安装路径
export PATH=$PATH:$PYTHON_HOME/bin
输入结束后按下键盘esc退出编辑模式,输入:wq保存退出
执行source命令使配置马上生效:source /etc/profile
6.创建软链接
执行命令:ln -s python安装目录下的bin目录中的python文件 /usr/local/bin/python3,这样就可以直接在终端使用python3命令了
[root@web3-lijun python3]# find / -name python3
/usr/local/bin/python3
/usr/local/software/python3
/usr/local/software/python3/build/temp.linux-x86_64-3.9/usr/local/software/python3
[root@web3-lijun python3]# cd /
[root@web3-lijun /]# cd /usr/local/bin/python3
bash: cd: /usr/local/bin/python3: Not a directory
[root@web3-lijun /]# cd /usr/local/bin/
[root@web3-lijun bin]# ls
2to3 2to3-3.9 idle3 idle3.9 pip3 pip3.9 pydoc3 pydoc3.9 python3 python3.9 python3.9-config python3-config
[root@web3-lijun bin]# ln -s /usr/local/bin/python3.9 /usr/bin/python3
[root@web3-lijun bin]# python3 --version
Python 3.9.17
执行命令:ln -s python安装目录下的bin目录中的pip文件 /usr/local/bin/pip3,这样就可以直接使用pip3来下载python包了
[root@web3-lijun bin]# find / -name pip3
/usr/local/bin/pip3
[root@web3-lijun bin]# ln -s /usr/local/bin/pip3 /usr/bin/pip3
[root@web3-lijun bin]# pip3 --version
pip 23.0.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
7、验证是否安装成功
在终端窗口执行python3 --version命令,产生以下结果,则安装完成
踩坑记录:
在Linux安装Python3.8时输入以下代码,如果出现“
make[1]: Entering directory `/usr/local/src/Python-3.8.0'
./python -E -S -m sysconfig --generate-posix-vars ;\
if test $? -ne 0 ; then \
echo "generate-posix-vars failed" ; \
rm -f ./pybuilddir.txt ; \
exit 1 ; \
fi
Could not import runpy module
Traceback (most recent call last):
File "/usr/local/src/Python-3.8.0/Lib/runpy.py", line 15, in <module>
import importlib.util
File "/usr/local/src/Python-3.8.0/Lib/importlib/util.py", line 14, in <module>
from contextlib import contextmanager
File "/usr/local/src/Python-3.8.0/Lib/contextlib.py", line 4, in <module>
import _collections_abc
SystemError: <built-in function compile> returned NULL without setting an error
generate-posix-vars failed
make[1]: *** [pybuilddir.txt] Error 1
make[1]: Leaving directory `/usr/local/src/Python-3.8.0'
make: *** [profile-opt] Error 2
是因为gcc+版本是系统自带的,版本过低,用scl工具升级gcc+版本到9就可以了。参考我另外一篇博客,使用scl来管理gcc版本_fdbright的博客-CSDN博客。