centos7上python3.6.5的安装及卸载
前言
最近开始安装配置公司给我的台式机,加上刚刚购买的ECS,处女座的我,环境前前后后大概装了有十来次吧,之前装总是临时网上找教程,但是装下来总是感觉有点别扭,当时服务器装的是3.6.5,虚拟机装的是3.6.2,还有各种包存放的路径问题。没办法就卸载重装了,想来就自己整理一下。有那么一丢丢强迫症的人,唯一出路就是尽可能的将环境装的干干净净,整整齐齐!
python3.6.5的安装
准备相关依赖
yum install -y ncurses-libs zlib-devel mysql-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
下载安装包
# 切换到存放安装包的目录
cd /usr/local
# 下载安装包
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
解压
# 默认解压到当前目录下
tar -xf Python-3.6.5.tar.xz
# 解压到指定目录下
tar -xf Python-3.6.5.tar.xz /tmp
编译安装
# 切换到解压后到目录中
cd Python-3.6.5
# 编译
./configure --prefix=/usr/local/python3 --enable-optimizations
# 安装
make && make altinstall
修改软链接
# 修改python3的软链接,输入python时,默认指向python3
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
# 修改python3的软链接,输入pip时,默认指向pip3
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip
"""
注意:如果报错
failed to create symbolic link ‘/usr/bin/python’: File exists
则说明已经存在一个python这个文件了,需要将原来的文件删除或者重命名
"""
# 重命名
mv python python_old
# 直接删除
rm -rf python
修改yum
'''
将文件首行#!/usr/bin/python改为#!/usr/bin/python2
'''
安装虚拟环境
# 下载相关依赖包
pip install virtualenv
pip install virtualenvwrapper
虚拟环境相关配置
# 打开文件
vim ~/.bashrc
# 写入以下几行代码(export可以先去掉)
# 设置virtualenv的统一管理目录, 以后自动下载的虚拟环境,全部都放在这
export WORKON_HOME=~/virtualenv_all
# 添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
# 指定python解释器的本体(注意此路径随不同的linux环境改变而改变)
export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3.6
# 执行virtualenvwrapper安装脚本
source /usr/local/python3/bin/virtualenvwrapper.sh
# 保存后退出
# 读取文件,使得生效,此时已经可以使用virtalenvwrapper
source ~/.bashrc
# 退出会话,重新登录生效,且每次登录的时候,就自动加载virtualenvwrapper工具
虚拟环境相关命令
# 创建一个虚拟环境:
mkvirtualenv my_django115 # 这会在 ~/virtualenv_all 中创建my_django115文件夹。
# 在虚拟环境上工作:激活虚拟环境 my_django115
workon my_django115
# 再创建一个新的虚拟环境
mkvirtualenv my_django2
# workon还可以任意停止你当前的环境,可以在多个虚拟环境中来回切换
workon django1.15
workon django2.0
# 手动停止虚拟环境
deactivate
# 删除虚拟环境,需要先退出虚拟环境
rmvirtualenv my_django115
# tips
'''
virtualenvwrapper 提供环境名字的tab补全功能。
'''
python3.6.5的卸载
暴力删除
# 卸载python3
rpm -qa|grep python3*|xargs rpm -ev --allmatches --nodeps
# 删除所有的残余文件
whereis python3* |xargs rm -frv
# 卸载完成,查看现有的已安装的python:
whereis python
centos7上python3.6.5的安装及卸载的更多相关文章
- CentOS7上Python3.5安装
CentOS7上Python3.5安装 1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. yum in ...
- CentOS7+ anaconda3 + Python-3.6 + tensorflow-cpu-1.5安装和配置
CentOS7+ anaconda3 + Python-3.6 + tensorflow-cpu-1.5安装和配置 ========================================== ...
- Centos7上以RPM包方式安装Oracle 18c XE
Centos7上以RPM包方式安装Oracle 18c XE 安装阿里云 YUM 源 https://opsx.alibaba.com/mirror?lang=zh-CN 一.安装oracle数据库 ...
- centos7上consul的集群安装
centos7上consul的安装 ###一 下载 下载文件 wget https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_a ...
- Centos7环境下Docker容器的安装与卸载
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal. ...
- ubuntu16.04 python3.5 opencv的安装与卸载(转载)
转载https://blog.csdn.net/qq_37541097/article/details/79045595 Ubuntu16.04 自带python2.7和python3.5两个版本,默 ...
- 解决centos6系统上python3—flask模块的安装问题
Flask 是一个使用 Python 编写的轻量级 Web 框架(所以我们前面花了那么多时间安装 Python3 呀).它被称为微型架构,因为其使用非常简单的核心以及功能丰富的扩展.虽然 Flask ...
- 【Docker】CentOS7 上无网络情况下安装
自建虚拟机,但是连接不上网络,只能通过下载rpm包进行安装docker 环境:CentOS 7.3.1611 x64 rpm镜像下载地址用的阿里的https://mirrors.aliyun.com/ ...
- Centos7上使用官方YUM源安装Mysql
1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-co ...
随机推荐
- 高可用web架构: LVS+keepalived+nginx+apache+php+eaccelerator(+nfs可选 可不选)
LVS(负载均衡器).Heartbeat.Corosync.Pacemaker.Web高可用集群.MySQL高可用集群.DRDB.iscsi.gfs2.cLVM等,唯一没有讲解的就是L ...
- [Linux-CentOS7]yum清华源CentOS7
shell直接运行 cat > 01.yumrepo.sh << 'EOF' # 创建备份路径 mkdir -p /etc/yum.repos.d/repo.bak/ # 备份源 m ...
- [Memcached]操作
telnet连接memcached 查看端口是否可访问 # telnet 172.16.1.1 11211 Trying 172.16.1.1... Connected to 172.16.1.1. ...
- C语言快速排序函数------qsort();
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> ty ...
- 【全集】IDEA入门到实战
课程介绍 IDEA是一款功能强悍.非常好用的Java开发工具,近几年编程开发人员对IDEA情有独钟.虽然IDEA功能很强大,但目前市面讲解的不细致.不系统,导致很多IDEA初学者要么无从下手,要么 ...
- emmet笔记
1.div.div${div$}*6 生成 <div class="div1">div1</div> <div class="div2&qu ...
- 关于宏MACRO,我们需要知道的事
一.先从最宏观的角度来了解宏,这里的宏观角度是指程序的运行流程: 1,提交代码后,SAS先把代码读取储存到堆栈中: 2,用文本扫描插件来扫描堆栈中的代码,从上到下,从左到右: 3,扫描到一个分号,则编 ...
- np.vstack与np.hstack
转自:https://zhuanlan.zhihu.com/p/82996332 留作备忘
- implements Serializable有什么作用?
没有implements Serializable,你就不能通过rmi(包括ejb)提供远程调用.serialization 允许你将实现了Serializable接口的对象转换为字节序列,这些字节序 ...
- Flume 自定义拦截器 多行读取日志+截断
前言: Flume百度定义如下: Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,F ...