文章目录
1.检测Python版本
~~~~~~~~~
在你的系统中运行应用程序Terminal(如果你使用的是Ubuntu,可按Ctrl + Alt + T;如果用的是CentOS或者RedHat,可按Ctrl + Alt + F4进入命令行模式,直接执行命令python),打开一个终端窗口。为确定是否安装了Python,执行命令python (请注意,其中的p是小写的)。输出将类似下面这样,它指出了安装的Python版本;最后的 “>>>” 是一个提示符,让你能够输入Python命令。
~~~~~~~
上述输出表明,当前计算机默认使用的Python版本为Python 2.7.5。看到上述输出后,如果要退出Python并返回到终端窗口,可按Ctrl + D或执行命令exit() 。
~~~~~~~
要检查系统是否安装了Python 3,可能需要指定相应的版本。换句话说,如果输出指出默认版本为Python 2.7,请尝试执行命令python3 :
上述输出表明,系统中也安装了Python 3,因此你可以使用这两个版本中的任何一个。在这种情况下,请可以使用命令python和python3分别进入python2和python3的的交互式模式 。大多数Linux系统都默认安装了Python,但如果你的Linux系统不知什么原因没有安装Python或只安装了Python 2,而你要安装Python 3,你可以自己下载安装,步骤如下:
2.安装Python3版本
1、可利用linux自带下载工具wget下载
如下所示(安装wget服务使用命令:yum install wget
):
笔者安装的是最小CentOS系统,所以使用编译命令前,必需安装wget服务,执行安装命令安装wget服务,使用过编译工具则可跳过安装wget,直接进行下边的编译步骤 。读者如果不知到CentOS系统是否已安装wget服务,可以使用wget命令查看是否安装了wget服务。
2、下载完成后到下载目录下
压下载文件(使用命令:tar - zxvf Python-3.6.5.tgz
)
3、解压
加压完成后,进入到解压目录:cd Python-3.6.5/
4、区分目录
安装Python3前先在/usr/local建一个文件夹即目录python3(作为python的安装路径,以免覆盖Python2版本)
mkdir /usr/local/python3 (此处新建文件夹即目录用mkdir命令,如果是新建文件则用touch命令)
5、gcc编译
检查是否安装了编译套件gcc(安装gcc编译套件使用命令:yum install gcc
)
上述显示表明未安装gcc编译套件,所以使用编译命令前,必须安装编译套件gcc,读者如果安装了gcc编译套件,或者使用过编译工具则可跳过安装gcc,直接进行下边的编译步骤。
配置安装路径:./configure --prefix=/usr/local/python3
编译:make
安装:make install
注意:
关于在centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes’的解决办法
需要安装yum install libffi-devel
6、保留与否
此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字(笔者保留了两个版本的,一个python,一个python3,所以第6步笔者略过,把第7步的链接后名字改为python3,读者可按正常步骤,实现的效果相同)
mv /usr/bin/python /usr/bin/python_old2
7、再建立新版本python的链接`
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
8、查看版本
Python升级后,如果yum、Firewal等不能用,请参考 https://www.cnblogs.com/shujuxiong/p/9032474.html,解决升级Python后yum、Firewall等不能用的问题
3、opencv-python安装后报错的问题
【Linux】 解决报错: ImportError: libSM.so.6: cannot open shared object file: No such file or directory
pip3 install opencv-python
安装了opencv-python 之后,在使用 import cv2 报错如下
报错原因: 缺少共享库
使用如下命令查看缺少得共享库
yum whatprovides libSM.so.6
使用以下命令解决:
yum install libSM-1.2.2-2.el7.x86_64 --setopt=protected_multilib=false
校验一下: 输入以下命令来查看 opencv得版本
python
import cv2
cv2.__version__
OK
参考:https://www.cnblogs.com/Hunry/p/9350607.html