最近公司更换了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. 51nod 1575 Gcd and Lcm

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1575 万年巨坑终于填掉了…… 首先是煞笔西瓜的做题历程O_O. ...

  2. 【Java学习笔记之十四】Java中this用法小节

    用类名定义一个变量的时候,定义的只是一个引用,外面可以通过这个引用来访问这个类里面的属性和方法. 那们类里面是够也应该有一个引用来访问自己的属性和方法纳? 呵呵,JAVA提供了一个很好的东西,就是 t ...

  3. python笔记二(mysql数据库操作)

    python2.x使用MySQLdb python3.x使用pymysql代替MySQLdb 不过我使用的是python3.5,MySQLdb还是可以在python3.5使用的. #!/usr/bin ...

  4. 关于WPF添加右击ContextMeun,以及获取所绑定控件的源

    今天在公司给公司做一个门禁软件,其中有一个添加员工的功能,功能已经做好,但是页面的右边是一个treeView控件,于是我想到再添加员工后,可以在treeview上的部门的TreeViewWithIco ...

  5. 使用nginx作为websocket的proxy server

    blog.csdn.net/zhx6044/article/details/50278765 WebSocket WebSocket协议为创建客户端和服务器端需要实时双向通讯的webapp提供了一个选 ...

  6. 基于Vue的小日历(支持按周切换)

      基于Vue的日历小功能,可根据实际开发情况按每年.每月.每周.进行切换 <template> <div class="date"> <!-- 年份 ...

  7. Java Enum解析【转】

    Enum用法: 1:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多 ...

  8. Java数据持久层框架 MyBatis之背景知识二

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

  9. 优化 gruop by 语句

    默认情况下,mysql对所有的gruop by col1,col2...的字段进行排序.如果查询包含group by但用户想要避免排序结果的消耗,则可以指定order by null禁止排序. exp ...

  10. CentOS 6.3 64位下MySQL5.1.54源码安装配置详解

    安装环境:CentOS 6.3 64位 一:先安装依赖包(不然配置的时候会报错的!) yum -y install ncurses* libtermcap* 新建mysql用户 [root@clien ...