此教程适合小白使用,毕竟我弄的时候也是小白,搜集资料看着来弄的,最后还是成功部署了。
参考:
https://blog.csdn.net/qq_27754983/article/details/78623258
https://blog.csdn.net/nicomy2018/article/details/78617976
https://blog.csdn.net/daerzei/article/details/80287046
https://blog.csdn.net/haeasringnar/article/details/80078529?utm_source=blogxgwz8
首先,先更新一下yum的相关源
yum update
再下载个wget
yum -y install wget
1.1看现有版本
CentOS 7.4自带Python2.7.5,可以通过如下命令查看版本信息
查找python安装位置
which python
进入安装位置(我的是在usr/bin/python)
cd /usr/bin/python
查看版本信息
python -V
Python 2.7.5
1.2下载新版本
下载python 3.6.3可以通过网站https://www.python.org 找到相应的版本下载,也可以采用wget进行下载。wget下载的命令如下:
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
下载后的文件存放位置为当前目录位置,比如当前在/下,则下载后的文件存放在/下。
#安装包组“Development tools”,和依赖包(否则可能会出错)
yum -y groupinstall “Development tools”
yum -y install zlib-devel
#有可能会用到https等,要安装openssl-devel包
yum install openssl-devel -y
1.3安装新版本
解压文件到根目录下
tar-zxvf Python-3.6.3.tgz -C /
在根目录下自动生成Python 3.6.3目录,进入该目录
cd /Python 3.6.3
设定安装路径在/usr/local/目录下
./configure --prefix=/usr/local --enable-optimizations
–enable-optimizations配置项用于提高Python安装后的性能,但是会导致安装慢
编译生成Python3.6.3的执行程序
make
安装应用程序到/usr/local/bin目录下
make install
添加软链到执行目录下/usr/bin
ln -s /usr/local/bin/python3.6 /usr/bin/python3
通过以上步骤可以将新版的python3.6.3和已有的python2.7.5一并的安装在同一台机器上并且能够共同使用
查看当前python对应的版本信息
python2 --V
Python 2.7.5
python3 --V
Python 3.6.3
用whereis命令定位python可执行文件、源代码文件、帮助文件在文件系统中的位置
whereis python
2. 创建pip3链接
2.1 也保留pip指向Pip2,创建pip3的软链接指向Pip3
ln -s /usr/local/bin/pip3 /usr/bin/pip3
2.2 此时pip3的版本是9.0.3需要升级一下升级到最新版本
pip3 install --upgrade pip
2.3 测试一下
pip3 -V
3. 进入 /usr/bin 删除 python, 并重新创建软连接(如果不这么弄,后面弄虚拟环境时可能会出错)
进入文件夹
cd /usr/bin
删除文件
rm -rf python
#查看python3的路径
which python3
/usr/local/bin/python3
建立py3的软链接
ln -sv /usr/local/bin/python3 ./python
因为我们安装的是python,默认环境是python3.6,这时候你会发现你的yum不能用了,因为yum是基于系统默认安装的python2.7版本,因此我们还要修改yum的运行环境 :
找到yum相关的软件包
which yum
/usr/bin/yum
编辑
vi /usr/bin/yum
修改第一行的环境,将原来的python改为python2,如果有多个yum相关的软件包,则依次修改即可。
当我们运行yum进行安装一个包的时候,会报错,显示/usr/libexec/urlgrabber-ext-down文件有错误,我们进行编辑,也修改器第一行的python环境为python2即可。
有不正确的地方,望各位指点~