linux python3编译以及 卸载,python默认为python3 ,pip默认为pip3,亲测版
前置准备
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
yum install libffi-devel -y
python linux下载源:
https://www.python.org/ftp/python
在linux任意位置新建任意目录
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
tar -zxvf Python-3.6.6.tgz
然后此目录下就多出了一个解压后的文件Python-3.6.6,下面进入文件夹中:
cd Python-3.6.6
./configure
make&&make install
这样,基本上python3.我们就安装完成了,默认情况下,python3安装在/usr/local/bin/,这里为了使默认python变成python3,需要加一条软链接,并把之前的python命令改成python.bak:
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3 /usr/bin/python
接着默认pip也是需要修改的,可以通过find / -name 'pip3'找到pip3的位置,同样的,加一条软链到bin里面:
mv /usr/bin/pip /usr/bin/pip.bak
ln -s /usr/local/bin/pip3 /usr/bin/pip
既然把默认python改成了python3的版本,那么这时候yum就出问题了,因为yum貌似不支持python3,开发了这个命令的老哥也不打算继续写支持python3的版本了,所以,如果和python版本相关的文件就不要通过yum下载了,这里我们需要把yum默认的指向改为python2.7的版本,分别是两个文件:
vi /usr/libexec/urlgrabber-ext-down
vi /usr/bin/yum
修改#/usr/bin/python 为 #/user/bin/python2.7
自此,我们就完成了新安装的centos系统中的两个python版本的全部流程。
在linux输入python2则调起python2,pip2调起python2下的pip;
输入python,则默认调起python3,pip调起python3的pip3。
卸载python3
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps
whereis python3 |xargs rm -frv
删除所有残余文件
成功卸载!
whereis python
查看现有安装的python
==============gold line about soft link ========================
创建软链接ln -s [源文件或目录] [目标文件或目录]
如:ln –s /opt/apps/redis-5.0.0 /usr/local/redis
(请注意源、目标文件/目录都不要在后面加”/”,重要的事情说三遍,原因自行度娘/Google)
删除软链接
与删除普通的文件一样,使用 rm –rf 软链接名称
如:
rm –rf /usr/local/redis
修改软链接
ln –snf [新的源文件或目录] [目标文件或目录]
如:将原来的源目录/opt/apps/redis-5.0.0改为/opt/apps/redis-5.0.4 ln –snf /opt/apps/redis-5.0.4 /usr/local/redis
linux python3编译以及 卸载,python默认为python3 ,pip默认为pip3,亲测版的更多相关文章
- Linux 下 将使用Python-Django开发的web应用布置到服务器上(亲测有效)
写在前面: Django是一个卓越的新一代Web框架,相信使用Python的人对此并不陌生,但将我们完成的web应用布置到到服务器上并不是一件容易的事情. Django详细的教程可以参考http:// ...
- linux无界面模式安装selenium+chrome+chromedriver并成功完成脚本(亲测可用)
环境:docker centos 7.4 能通外网 写好的selenium脚本. 具体步骤: 一:安装selenium 这是最简单的 直接利用 pip3 install selenium 二 安装c ...
- Linux下正确修改Docker镜像和容器的默认存储位置,亲测有效
我们通过 yum 的方式安装完Docker环境后,它默认的存储位置是 /var/lib/docker,默认的 pid 存放位置是 /var/run/docker.pid. 如果仅仅是做测试,我们可能没 ...
- python3 selenium 超时停止加载,并且捕捉异常, 进行下一步【亲测有效】
from selenium import webdriver import os import re class GetPage: def __init__(self, url_path): self ...
- Python在Linux下编译安装
[准备环境] Linux centos [前言] 1 linux下默认带Python,带的是2.7版本的 ,如果需要升级版本,需要把系统的自带的Python改名或者卸载,再次安装你所需要的Python ...
- Linux 下编译升级 Python
一.Centos下升级python3.4.3 1.下载安装 wget http://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz wget http ...
- [linux]centos7.4上升级python2版本到python3.6.5 【安装双版本,默认python3】
版本声明 centos7.4 前言:linux上的python默认是版本2的,之前学django项目用的是3的版本 所以得升级下版本~ 1.下载python3.6.5 cd /usr/local/ w ...
- Python版本切换和Pip安装
Python版本切换 现在常用的linux系统中都会默认携带python运行环境,在ubuntu 16.04 和centos 7.3中携带有Python 2.7 和Python3.5两个版本, 默认使 ...
- 亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0- ...
随机推荐
- django 完成登录功能
啃了几天文档,感觉能理解了这个框架,但是真的下手的时候真的不知道从何开始. orm即Object-Relationl Mapping,看这名字就是操作数据库的,用过ssm,不过django操作数据库是 ...
- linux上安装git以及使用
用git --version命令检查是否已经安装 在CentOS5的版本,由于yum源中没有git,所以需要预先安装一系列的依赖包.在CentOS6的yum源中已经有git的版本了,可以直接使用yum ...
- Python3爬虫爬取淘宝商品数据
这次的主要的目的是从淘宝的搜索页面获取商品的信息.其实分析页面找到信息很容易,页面信息的存放都是以静态的方式直接嵌套的页面上的,很容易找到.主要困难是将信息从HTML源码中剥离出来,数据和网页源码结合 ...
- C++内存管理(new operator/operator new/operator delete/placement new)
new operator 我们平时使用的new是new操作符(new operator),就像sizeof一样是语言内置的,不能改变它的含义,功能也是一样的 比如: string *ps = new ...
- Java爬虫学习(3)之用对象保存新浪微博博文
package com.mieba; import us.codecraft.webmagic.Page; import us.codecraft.webmagic.Site; import us.c ...
- [termux Linux] termux不用ssh远程控制shell
前言 今天想在手机上测试python代码(termux),但是手机操作确实太麻烦了,所以就想试试用ssh来用电脑操作,但是网上说似乎不能用ip链接ssh 但是配置密钥文件有很麻烦.所以,我想了一个歪招 ...
- 395. 至少有K个重复字符的最长子串
Q: A: 分治,对于字符串s的任何一个字符,如果它的频数(在s中出现的次数)小于k,则它一定不会出现在最后的结果里,也就是从它的位置一劈两半,考察左右.对于当前字符串s,我们先建立字典统计其中每种字 ...
- MyBatis(7)——使用注解开发
说明:注解就是利用接口实现的,因此转为面向接口编程,使用接口开发拓展性好.分层开发时上层不用管理具体的实现.更加标准化更加规范.使得各个层的耦合度更低. 注:有了注释语句就不需要实体类的mapper文 ...
- 对于一些stl自定义比较函数
1.unorderd_map自定义键 自定义类型 struct my_key { int num; string name; }; 1.由于unordered_map是采用哈希实现的,对于系统的类型i ...
- java的动态绑定和多态
public class Shape { public void area() { System.out.println("各种形状的面积..."); } public stati ...