最近公司更换了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. Tomcat多个项目部署,通过Nginx反向代理分别配置二级域名的流程

    购买域名.示例:example.com 设置多个二级域名.如图: 配置tomcat文件: 修改tomcat/conf目录下的server.xml文件: 如下配置配置了3个容器,使用三个不同的端口. 请 ...

  2. js面向对象学习笔记(三):原型

    //原型:改写对象下面公用的方法或者属性,让公用的方法或者属性在内存中只存在一份(提高性能)//原型:prototype :要写在构造函数的下面var arr =[1,2,3,4,5];var arr ...

  3. RAC+ASM 添加控制文件

    环境介绍:11g RAC 使用 ASM 磁盘组,控制文件只有一个,需要进行添加 参照 MOS 文档 How to Multiplex Control File In RAC Database (文档 ...

  4. Codeforces 777B Game of Credit Cards

    B. Game of Credit Cards time limit per test:2 seconds memory limit per test:256 megabytes input:stan ...

  5. poj 1743

    Musical Theme Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 24835   Accepted: 8377 De ...

  6. vijos 1557:bzoj:1413: [ZJOI2009]取石子游戏

    Description 在研究过Nim游戏及各种变种之后,Orez又发现了一种全新的取石子游戏,这个游戏是这样的: 有n堆石子,将这n堆石子摆成一排.游戏由两个人进行,两人轮流操作,每次操作者都可以从 ...

  7. [51nod Round 15 B ] 完美消除

    数位DP. 比较蛋疼的是,设a[i]表示第i位上数字,比方说a[1]<a[2]>a[3],且a[1]==a[3]时,这两位上的数可以放在一起搞掉. 所以就在正常的f数组里多开一维,表示后面 ...

  8. HDU4355-Party All the Time-三分

    Party All the Time Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  9. 你必须知道的session与cookie

    Session本质 提到Session我们能联想到的就是用户登录功能,而本身我们使用Session的基础是通过url进行访问的,也就是使用http协议进行访问的,而http协议本身是无状态的,那么问题 ...

  10. web框架前言与学生数据库系统(附1.0源码)

    对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. import socket def f1(request): ""&quo ...