依赖安装
gcc是一个用于linux系统下编程的编译器,由于python3需要编译安装,因此,需要首先安装gcc。先查看一下系统中,是否安装了gcc。
gcc --versions
发现没有安装,则需要安装。参数-y的作用是在安装过程中自动确认。
yum -y install gcc
编译安装python3过程中,根据系统本身的依赖,可能出现的不同的报错信息。提前按照好依赖包。
yum -y install zlib*yum -y install libffi-develyum -y install openssl-devel
2 python3 下载
在下载前可以检查一下服务器中python的版本,一般linux服务器会自带python2。以下所有操作都是在root账户中进行。
python --version
当服务器网络较好时,可以直接使用以下命令下载python3的压缩包。下载的版本为python3.7,下载到服务器主目录中(位置可自定义)。
cd ~ wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
当服务器网络不好时,命令下载花费时间较长,可以考虑在其他机器上先下好压缩包,然后通过工具(MobaXterm,Xshell,...)上传到服务器。
3 python3编译安装
解压下载的python3压缩包。
tar -zxvf Python-3.7.0.tgz
解压后主目录下会多出一个Python-3.7.0文件夹。
新建一个python3的安装目录(位置可自定义)。
mkdir /usr/lib/python3.7
进入Python-3.7.0目录下,「指定安装目录,设置启用ssl功能」。
cd Python-3.7.0./configure --prefix=/usr/lib/python3.7 --with-ssl
编译安装。
make && make install
4 创建软连接
上述步骤完成后,其实python3已经安装完毕,但是为了方便使用,一般会创建python3和pip3的软连接。创建后可直接在终端通过python命令进入python和pip3命令安装python包。
创建python3和pip3软连接:
ln -s /usr/lib/python3.7/bin/python3.7 /usr/bin/python3ln -s /usr/lib/python3.7/bin/pip3.7 /usr/bin/pip3ln -s /usr/bin/pip3 /usr/bin/pip
系统默认的python软连接指向的是python2,如果我们需要更方便使用,可以删除原有的python软连接,并建立新的python软连接指向python3。
rm -f /usr/bin/pythonln -s /usr/bin/python3 /usr/bin/python
查看最新的有python的软连接。
ll /usr/bin/ |grep python
查看python版本。显示为python 3.7.0。
python --version
5 修改yum配置
Linux centos7自带的python版本是2.7,yum使用python2.7作为命令解释器。安装python3后,软连接/usr/bin/python指向的版本是python3,不修改yum的配置,会导致yum使用报错,无法安装包等。
「报错信息1:」
❝ File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxError: invalid syntax
❞
「报错信息2:」
❝ Downloading packages: File "/usr/libexec/urlgrabber-ext-down", line 28 except OSError, e: ^ SyntaxError: invalid syntax
❞
「解决办法:」
修改yum配置文件,下面两个文件都要修改。
vi /usr/bin/yumvi /usr/libexec/urlgrabber-ext-down
按i进入编辑模式,在第一行#!/usr/bin/python把修改为#!/usr/bin/python2.7,
按ESC退出编辑模式,:wq退出保存。
[报错信息3:]
查看虚拟环境 mkvirtualenv
ERROR: virtualenvwrapper could not find virtualenv in your path
原来安装过3.10的版本,但是安装虚拟环境报错更是离谱了,卸载的时候rpm没有删除干净。这个就是配置path路径的问题,
vim ~/.bashrc
source 刷新即可