前言

最近开始安装配置公司给我的台式机,加上刚刚购买的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的安装及卸载的更多相关文章

  1. 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 ...

  2. CentOS7+ anaconda3 + Python-3.6 + tensorflow-cpu-1.5安装和配置

    CentOS7+ anaconda3 + Python-3.6 + tensorflow-cpu-1.5安装和配置 ========================================== ...

  3. Centos7上以RPM包方式安装Oracle 18c XE

    Centos7上以RPM包方式安装Oracle 18c XE 安装阿里云 YUM 源 https://opsx.alibaba.com/mirror?lang=zh-CN 一.安装oracle数据库 ...

  4. centos7上consul的集群安装

    centos7上consul的安装 ###一 下载 下载文件 wget https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_a ...

  5. Centos7环境下Docker容器的安装与卸载

    Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal. ...

  6. ubuntu16.04 python3.5 opencv的安装与卸载(转载)

    转载https://blog.csdn.net/qq_37541097/article/details/79045595 Ubuntu16.04 自带python2.7和python3.5两个版本,默 ...

  7. 解决centos6系统上python3—flask模块的安装问题

    Flask 是一个使用 Python 编写的轻量级 Web 框架(所以我们前面花了那么多时间安装 Python3 呀).它被称为微型架构,因为其使用非常简单的核心以及功能丰富的扩展.虽然 Flask ...

  8. 【Docker】CentOS7 上无网络情况下安装

    自建虚拟机,但是连接不上网络,只能通过下载rpm包进行安装docker 环境:CentOS 7.3.1611 x64 rpm镜像下载地址用的阿里的https://mirrors.aliyun.com/ ...

  9. Centos7上使用官方YUM源安装Mysql

    1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-co ...

随机推荐

  1. apache 负载均衡

    此次使用mod_proxy的方式来实现的,因为在Apache2以上的版本中已经集成了,因此不需要再另行安装和配置了. 只需要把注释去掉即可,去掉以下模块的注释: LoadModule proxy_mo ...

  2. php 安装扩展插件实例-ftp.so

    工作记录一下   1.首先进入原始php包安装文件(不是安装后的文件,是下载php安装压缩包,解压后的那个文件)安装包里有个扩展文件夹ext,进入 #cd /home/php-5.3.3/ext/#l ...

  3. 使用A线程打印1-52,B线程打印A-Z,要求按照12A34B56C....5152Z的顺序进行交替打印

    多线程同步问题,都需要用到监视器,用来监视资源是否可用.C++中使用condition_variable,Java中使用Condition来实现同步. 1. 实现思路 需要有一个全局变量控制当前该哪个 ...

  4. 记录KVM虚拟机常用操作管理命令

    环境说明 centos7中的KVM NAT方式是kvm安装后的默认方式.它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机. 检查当前的网络设置 # virsh net-li ...

  5. SpringCloud之Ribbon负载均衡的入门操作

    使用Ribbon进行负载均衡 在使用Ribbon之前,我们先想一个之前的问题,之前我们将服务提供者注册进了eureka注册中心,但是在消费者端,我们还是使用的restTemplate调用的时候,其中写 ...

  6. openlayers6实现webgl点图层渲染效果(附源码下载)

    前言:openlayers6推出来的有一段时间,推出来的新特性见:https://github.com/openlayers/openlayers/releases/该版本的主要功能是能够组合具有不同 ...

  7. opencv —— contourArea、arcLength 计算轮廓面积与长度

    计算轮廓面积:contourArea 函数 double contourArea(InputArray contour, bool oriented = false); contour,输入的二维点集 ...

  8. JS高阶编程技巧--惰性函数

    在vue.react等框架大量应用之前,我们需要使用jQuery或者原生js来操作dom写代码,在用原生js进行事件绑定时,我们可以应用DOM2级绑定事件的方法,即:元素.addEventListen ...

  9. Html介绍,认识head标签

    <head></head>标签位于html文档的头部,主要是用来描述文档的各种属性和信息,包括文档的标题等,当然文档头部包含的数据都不会真正作为内容展示给访客的. 如下的一些标 ...

  10. 等差数列,for循环,递归和尾递归的对比

    生活中,如果1+2+3+4.....+100,大家基本上都会用等差数列计算,如果有人从1开始加,不是傻就是白X,那么程序中呢,是不是也是这样.今天无意中看到了尾递归,以前也写过,但是不知道这个专业名词 ...