最近公司更换了linux系统的版本,从Ubuntu改为了oracle linux,相关的Python环境也要重新配置,记录一下基本配置的过程。

相关环境

  • 系统:oracle linux7.3

  • 系统自带的python:2.7.5

安装python3.6.3

  • python的多个版本是可以共存的,没必要删除原来的python2,系统预装的一些工具比如yum是依赖python2的;

  • 先安装相关的依赖环境,编译环境等

# 使用yum命令安装,对所有的提问都回答yes
sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc
  • 官网下载python3.6.3
# 进入桌面
$ cd ~/Desktop
$ wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
  • 将下载包解压编译
tar -zxvf Python-3.6.3.tgz
cd Python-3.6.3
  • 编译之前可以设置python安装的位置
# 修改配置文件
sudo vi ./configure
# 找到ac_default_prefix=/usr/local/python3
# 可以修改安装路径
# 创建安装文件夹
sudo mkdir /usr/local/python3
  • 编译安装
# 生成配置文件
./configure
# 编译
make
# 安装
make install
  • 如果出现了successful,说明安装成功;

配置环境变量

当前输入python,发现进入的是python2的环境;输入python3,发现不识别这个命令,说明python3.6.3的安装路径没有加入到系统路径中去;

  • 添加PATH
# 进入python安装文件
cd /usr/local/python3
# 启动命令在bin文件夹中
cd bin
# 输入python3可以启动python3.6.3
  • 将路径添加到系统用户路径中
sudo vi ~/.bash_profile  # 进入只针对该用户的系统路径文件
# 找到PATH=$PATH:$HOME/bin
# 如windows中相似,所有的环境变量路径使用冒号分割
PATH=$PATH:$HOME/bin:/usr/local/python3/bin
# 保存退出
  • 将路径添加到全局用户路径中
# 如果需要对所有的用户都需要支持Python命令,添加全局变量
sudo vi /etc/profiles
# 在脚本的末尾增加
export PATH="/usr/local/python3/bin"
  • 临时执行环境变量,只对当前shell终端有效
shell> export PY_HOME="/usr/local/python3/"
shell> export PATH="$PATH:$PY_HOME/bin"
  • 查看环境变量
$ env   # 查看所有的环境变量
$ echo $PATH # 查看当前登录的用户的环境变量

扩展

  • 修改全局环境变量和用户环境变量

linux系统的sudo命令和普通的如ls命令,其搜索的路径是不一样的,用户命令搜索路径在~/.bash_profile中,如上面添加python的启动路径;sudo命令搜索路径在/etc/sudoers中

# 编辑/etc/sudoers
sudo vi /etc/sudoers
# 找到secure_path
:/secure_path
# 在该路径后面添加更多的搜索路径
  • 将python3设置成默认的python版本
# 删除原来的python连接
cd /usr/bin/
rm python
# 创建python3的软连接
ln -s /usr/local/python3/bin /usr/bin/python
# 输入python发现默认打开python3.6则成功
# 修改yum依赖
vi /usr/bin/yum
# 将第一行/usr/bin/python改为/usr/bin/python2

细节

  • 有时忘记使用root权限编辑配置文件导致无法退出和保存失败;比如修改/etc/sudoers文件;
# 按ctrl+z强制退出
# ls -lah | grep .*
# 查找所有的隐藏文件发现生成了.sudoers.swap文件
# 删除该文件并重新编辑
sudo rm .sudoers.swap
sudo vi -r sudoers
  • 重启主机或执行
source ~/.bash_profile  # 命名生效
  • 测试
# 在任意目录下执行
python3 # 打开python3.6.3环境
# 测试pip
pip3 --version
pip --version # 无效,python2环境没有安装pip

修改linux的pip源

  • 方法一:临时修改
# 在pip后指定源
pip install ipython -i http://mirrors.aliyun.com/pypi/simple/
  • 方法二:永久修改
# 找到~/.pip/pip.conf,如果不存在就创建
# 加入
[global]
timeout = 10 # 设置超时,单位s
index-url = http://mirrors.aliyun.com/pypi/simple/ # 指定优先下载源
extra-index-url= http://pypi.douban.com/simple/ # 第二下载源
[install]
trusted-host= # 可能需要使用https方式通信
mirrors.aliyun.com
pypi.douban.com

Oracle-Linux安装配置python3.6环境的更多相关文章

  1. Linux安装配置go运行环境

    1. 下载go,解压 gz包 wget https://storage.googleapis.com/golang/go1.7.5.linux-amd64.tar.gz tar zxvf go1.7. ...

  2. windows和linux下 Python2,Python3 的环境及安装

    目录 windows和linux下 Python2,Python3 的环境及安装 window下安装 一. 手动安装 二. pip安装 linux下 安装 更新Python 笔者有话 windows和 ...

  3. Linux安装配置php环境的方法

    本文实例讲述了Linux安装配置php环境的方法.分享给大家供大家参考,具体如下: 1.获取安装文件: http://www.php.net/downloads.php php-5.3.8.tar.g ...

  4. linux经常使用(一)linux 安装配置 jdk之 找不到安装文件文件夹及source /etc/profile 报unexpected end of file 错误 解决

    linux 安装配置 jdk 应该算是一个非常主要的东西.可是我到如今才自己第一次 正式安装.果然出现了问题.. 问题就是 安装之后 找不到 安装路径 ,进而没法配置环境变量. 现象例如以下: 提示 ...

  5. Oracle linux安装Oracle 11G

    Oracle  linux安装Oracle 11G 系统环境 Oracle linux   5.8.19.6(64位) Oracle     11.2.0.1(64位) 本文档详细介绍Oracle  ...

  6. BizTalk 2013R2 WCF-LOB Oracle Adapter安装配置/问题&解决方法

    BizTalk 2013R2 WCF-LOB Oracle Adapter安装配置/问题&解决方法 安装Oracle Adapter 安装Oracle客户端 BizTalk 2013R2 安装 ...

  7. Linux下配置PHP开发环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  8. windows Sever 2012下Oracle 12c安装配置方法图文教程

    windows Sever 2012下Oracle 12c安装配置方法图文教程 Oracle 12c安装配置方法图文教程,具体内容如下 1.我们开启虚拟机 2.Windows Sever 2012启动 ...

  9. PyCharm配置Python3开发环境

    PyCharm配置Python3开发环境 PyCharm的开发环境是配置在对应的工程中: 一.创建一个Project 工具栏:New - New Project 建议指定一个专门的目录 ,用来存放py ...

随机推荐

  1. Java与算法之(5) - 老鼠走迷宫(深度优先算法)

    小老鼠走进了格子迷宫,如何能绕过猫并以最短的路线吃到奶酪呢? 注意只能上下左右移动,不能斜着移动. 在解决迷宫问题上,深度优先算法的思路是沿着一条路一直走,遇到障碍或走出边界再返回尝试别的路径. 首先 ...

  2. [bzoj1717][Usaco2006 Dec]Milk Patterns 产奶的模式 (hash构造后缀数组,二分答案)

    以后似乎终于不用去学后缀数组的倍增搞法||DC3等blablaSXBK的方法了= = 定义(来自关于后缀数组的那篇国家集训队论文..) 后缀数组:后缀数组SA是一个一维数组,它保存1..n的某个排列S ...

  3. HDU1102(最小生成树Kruskal算法)

    Constructing Roads Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  4. 解析Python中的yield关键字

    前言 python中有一个非常有用的语法叫做生成器,所利用到的关键字就是yield.有效利用生成器这个工具可以有效地节约系统资源,避免不必要的内存占用. 一段代码 def fun(): for i i ...

  5. Netty5序章之BIO NIO AIO演变

    Netty5序章之BIO NIO AIO演变 Netty是一个提供异步事件驱动的网络应用框架,用以快速开发高性能.高可靠的网络服务器和客户端程序.Netty简化了网络程序的开发,是很多框架和公司都在使 ...

  6. visual studio 打开微软MVC3示例MvcMusicStore的详细修改方法

    1.官方下载地址:http://mvcmusicstore.codeplex.com/ 2.直接打开项目后,引用中会有三个dll文件报错,分别是System.Web.MVC;System.Web.He ...

  7. GBK,UTF8是什么?有什么区别,做网站选择哪种好?

    GBK包含全部中文字符: UTF-8则包含全世界所有国家需要用到的字符. GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准) UTF-8编码的文字可以在各国各种支持 ...

  8. 苹果新贵 Swift 之前世今生

    摘要 : 做为一个70后程序员,克里斯先后发明了 LLVM.Clang 和 Swift,请问你做了什么?   上 周出差劳顿,这篇文章几次动笔都未完成,常常躺倒床上就昏睡过去.南方的天气闷热潮湿,让我 ...

  9. Codeforces 448 E. Divisors (DFS,储存结构)

    题目链接:E. Divisors 题意: 给出一个X,f(X)是X所有约数的数列(例6:1 2 3 6),给出一个k,k是递归的次数(例:k=2 : f(f(X)) ; X=4,k=2: 1 1 2 ...

  10. 关于JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换

    我们最初学习计算机的时候,都学过ASCII编码. 但是为了表示各种各样的语言,在计算机技术的发展过程中,逐渐出现了很多不同标准的编码格式, 重要的有Unicode.UTF.ISO-8859-1和中国人 ...