前言

最近开始安装配置公司给我的台式机,加上刚刚购买的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. PPT导出图片质量太差?简单操作直接导出印刷质地图片

    PPT导出图片质量太差?简单操作直接导出印刷质地图片    ​ PPT不仅可以用于展示文档,还可以用于简单图片合成处理,同时,PPT文档还可以全部导出为图片. 默认情况下,PPT导出的图片为96DPI ...

  2. 注销Apache

    到D:\phpTools\Apache24\bin下运行cmd 输入httpd.exe -k uninstall -n apache24 回车后提示注销完成 接着把Apache的文件删了即可

  3. 前端开发中的一些tips(持续更新)

    本文记录分享一些在日常开发中经常遇到的一些问题的解决方案及常用小技巧,如有错误之处还请批评指正.CSS相关:1.如何修改chrome记住密码后自动填充表单的黄色背景? input:-webkit-au ...

  4. Java自学-多线程 线程安全的类

    Java常见的线程安全相关的面试题 步骤 1 : HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式 区别1: HashMap可以 ...

  5. redis中hash数据类型

    remoteSelf:1>hset website google "www.google.com" "1" remoteSelf:1>hget we ...

  6. docker配置仓库源

    1 修改docker配置文件 下面的内网ip改成公司的私有仓库地址 后面两个建议保留(一个是国内加速源,一个是国外仓库.这两个删了也是可以的) 2 重启docker服务 # vim /etc/dock ...

  7. 阿里云服务器Web Deploy配置和使用Visual Studio进行Web项目发布部署遇到的坑

    阿里云的服务器一直闲着,烧着银子,当初花几千大洋开通,本想弄信息化的项目为所帮扶的贫困户脱贫助手,不想势单力薄,一直没有找到好的项目.最近大家都在众志成城抗击新肺疫情,于是又想能不能尽点自己的力量,于 ...

  8. Java面向对象入门(2)-访问修饰符

    Java访问修饰符–public, protected, private and default Java提供了四个访问修饰符来设置类,变量,方法和构造函数的访问级别,即public,private, ...

  9. 【redis】基于redis实现分布式并发锁

    基于redis实现分布式并发锁(注解实现) 说明 前提, 应用服务是分布式或多服务, 而这些"多"有共同的"redis"; (2017-12-04) 笑哭, 写 ...

  10. HDU-1754 I Hate It (树状数组模板题——单点更新,区间查询最大值)

    题目链接 ac代码(注意字符读入前需要注意回车的影响) #include<iostream> #include<cstdio> #include<cstring> ...