Linux下python多版本多环境介绍

一、python多版本配置说明

安装python相关依赖

[[email protected] ~]# yum install -y gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel

安装git工具

[[email protected] ~]# yum install -y git

创建python用户

[[email protected] ~]# useradd python

切换到python用户

[[email protected] ~]# su - python

从GitHub上拉取pyenv脚本并执行

[[email protected] ~]$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer|bash

Load pyenv automatically by adding
# the following to ~/.bash_profile:

通过加入以下内容到python用户的   ~/.bash_profile  文件中最后,使pyenv自动加载

export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

使加入的内容生效

[[email protected] ~]$ source ~/.bash_profile

命令行执行可以获取pyenv相关的命令说明

[[email protected] ~]$ pyenv
pyenv 1.1.5
Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   commands    List all available pyenv commands
   local       Set or show the local application-specific Python version
   global      Set or show the global Python version
   shell       Set or show the shell-specific Python version
   install     Install a Python version using python-build
   uninstall   Uninstall a specific Python version
   rehash      Rehash pyenv shims (run this after installing executables)
   version     Show the current Python version and its origin
   versions    List all Python versions available to pyenv
   which       Display the full path to an executable
   whence      List all Python versions that contain the given executable

See `pyenv help <command>‘ for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme

可以安装多个python版本,然后切换

查看当前python版本

[[email protected] ~]$ python -V
Python 2.6.6

列出所有可用版本

[[email protected] ~]$ pyenv install -l

安装指定版本

[[email protected] ~]$ pyenv install 3.6.3 -v

注:

当这种在线方式安装太慢时,可以选择使用缓存安装,也就是把需要安装的对应源码包下好,放入/home/python/.pyenv/cache  目录下,cache目录不存在时创建即可

[[email protected] ~]$ mkdir -p /home/python/.pyenv/cache
[[email protected] ~]$ ll /home/python/.pyenv/cache/
total 38724
-rw-r--r-- 1 python python 16974296 Nov 17 10:19 Python-3.6.3.tar.xz
-rw-r--r-- 1 python python 22673115 Nov 17 10:19 Python-3.6.3.tgz
[[email protected] ~]$ pyenv install 3.6.3 -v

安装完成后,查看python版本(有 * 代码当前生效的python版本,system就是系统默认版本,这里是python2.6.6)

[[email protected] ~]$ pyenv versions
* system (set by /home/python/.pyenv/version)
  3.6.3

切换设置python版本,一般建议用python local设置

pyenv global 3.6.3
注意:root用户下,尽量不适用global,会改变全局的python版本

pyenv shell 3.6.3
只作用于当前会话

python local 3.6.3
设置从当前工作目录开始向下递归继承该设置

这里演示python local的功能

[[email protected] ~]$ mkdir test    #在家目录新建一个test目录
[[email protected] ~]$ ll
total 4
drwxrwxr-x 2 python python 4096 Nov 17 18:28 test
[[email protected] ~]$ cd test/        #切换到test目录
[[email protected] test]$ pyenv local 3.6.3
[[email protected] test]$ pyenv versions
  system
* 3.6.3 (set by /home/python/test/.python-version)
[[email protected] test]$ python -V    #这里应该是有bug,重新登录或就正常了
Python 2.6.6
[[email protected] test]$ python -V
Python 3.6.3

#进入test的子目录,也继承了python版本设置
[[email protected] test]$ mkdir child
[[email protected] test]$ cd child/
[[email protected] child]$ pyenv versions
  system
* 3.6.3 (set by /home/python/test/.python-version)
[[email protected] child]$ python -V
Python 3.6.3
#进入其他目录,python版本然是系统默认版本
[[email protected] ~]$ pyenv versions
* system (set by /home/python/.pyenv/version)
  3.6.3
[[email protected] ~]$ python -V
Python 2.6.6

二、python多环境配置说明

创建一个3.6.3版本的独立空间环境

[[email protected] ~]$ pyenv virtualenv 3.6.3 martin    #最后的空间名,自己随意指定
Requirement already satisfied: setuptools in /home/python/.pyenv/versions/3.6.3/envs/martin/lib/python3.6/site-packages
Requirement already satisfied: pip in /home/python/.pyenv/versions/3.6.3/envs/martin/lib/python3.6/site-packages
[[email protected] ~]$ pyenv versions    #查看所有安装的python版本
* system (set by /home/python/.pyenv/version)
  3.6.3
  3.6.3/envs/martin
  martin
[[email protected] ~]$ cd test/
[[email protected] test]$ pyenv local martin    #设置当前目录的python版本
(martin) [[email protected] test]$ pyenv versions    #查看切换后的默认版本情况,设置独立空间环境后,命令提示符前面会多一个自己设置的独立空间的名字
  system
  3.6.3
  3.6.3/envs/martin
* martin (set by /home/python/test/.python-version)

配置好独立空间后,安装的包存在独立目录下

(martin) [[email protected] test]$ pip -V
pip 9.0.1 from /home/python/.pyenv/versions/3.6.3/envs/martin/lib/python3.6/site-packages (python 3.6)    #独立空间的包存在该目录下

Virtualenv插件,在plugins/pyevn-virtualenv
创建一个3.6.3版本的独立空间
pyenv virtualenv 3.6.3 martin
pyenv local martin

时间: 2024-08-27 03:03:36

Linux下python多版本多环境介绍的相关文章

将Linux下python默认版本切换成替代版本

本文链接自http://www.myhack58.com/Article/48/66/2016/71806.htm 当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.你可以按照以下方法使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用. $ ls /usr/bin/python* /usr/bin/python /usr/bin/python2 /usr/bin/py

Linux下C++的编程——开偏介绍

C++是一个功能强大而又应用广泛的计算机语言,就应用领域而言,几乎无所不在,因为有操作系统的地方就会有C++的存在,热门程序而言,也就仅次于C和Java.而C与C++又有天然的血缘关系. 从事C++开发近两年,虽然开发的产品都是跨平台的,但个人直接接触到的编程工程还是更偏重于Windows平台(至少开发环境更多的是在Windows平台,还写过"带你玩转Visual Studio"系列的博文),而现在要自己独立地带领一个项目的开发,还是一个跨平台的项目,也就有必要到Linux下C++的编

Linux下C++的编程——开发环境搭建与第一个程序

上一篇文章Linux下C++的编程--开偏介绍中我们已经介绍了GUN.GCC.G++等一些重要的概念,现在应该开始动手实践了! 开发工具的安装 环境 Distributions版本:CentOS 6.7 Linux内核片:2.6.32-573.3.1.el6.i686 一般Linux安装完之后默认就已经安装了GCC(GNU Compiler Collection),你可以查看一下gcc和g++的版本号检查gcc和g++是否已经安装. [luowf@luoweifu ~]$ gcc -v gcc

Linux下服务器端开发流程及相关工具介绍(C++)

原文:Linux下服务器端开发流程及相关工具介绍(C++) 去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路线图,帮助新人尽快上手. 本文介绍的是阿里妈妈搜索直通车这边的一些开发流程及相关工具.做为新人入门手册,其中某些工具可能只有直通车这边在用,但对于其他公司的新人来说,一样是具有指导意义的. 简单介绍一下直通车这边的开发背景:直通车业务对外是

linux下apache+mysql+php开发环境纯源代码编译搭建

linux下apache+mysql+php开发环境纯源代码编译搭建 记录一下我在fedora core 1下通过源代码编译出来的apache+mysql+php开发环境的全部过程 通常安装一台服务器当然使用rpm是最方便的,不需要考虑太多配置的问题,就可以轻松获得需要的环境了.不过rpm包互相关联的问题也不是这么容易解决. apache,mysql,php这三个应用从源代码编译安装还是比较简单的,配置参数不算复杂,而且没有太多的依赖关系,从源码编译出来的系统也比较稳定一些,方便未来打补丁和升级

LINUX下搭建JAVA的开发环境

LINUX下搭建JAVA的开发环境 (2009-07-13 10:04:13) 下面就将Linux下JAVA开发环境的搭建详细道来: 1.Linux下JDK的安装 至于下载JDK的二进制可执行文件,这里就不讲了,大家直接到官方网去下载就可以了. (1)我下载下来的JDK安装文件名称为:jdk-1_5_0_14-linux-i586-rpm.bin,我把它保存在/tools目录下. (2)打开一个终端,依次输入以下命令: # cd /tools                    进入JDK安装

Linux下python安装升级详细步骤 | Python2 升级 Python3 转载

Linux下python升级步骤  Python2 ->Python3 多数情况下,系统自动的Python版本是2.x 或者yum直接安装的也是2.x 但是,现在多数情况下建议使用3.x 那么如何升级呢? 下面老徐详细讲解升级步骤: 首先下载源tar包 可利用linux自带下载工具wget下载,如下所示: wget http://www.python.org/ftp/python/3.3.0/Python-3.3.0.tgz 下载完成后到下载目录下,解压 tar -xzvf Python-3.3

linux下配置Java和Go环境

重新安装了limux系统,由于长时间没有配置过java环境和Go环境,竟然不知道了都需要哪些东西了,因此就在博客里面总结一下,以免再次忘记,我都配置在/etc/profile文件里面,以前用Ubuntu时,配置在.bash_profile文件中,进不去图形界面,只好配置在/etc/profile文件中: 首先配置java环境: export JAVA_HOME=/usr/local/jdk1.7.0_65 export PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/b

Ubuntu Linux下如何配置Android开发环境

下载和安装Win7系统Android开发环境中讲了怎样在Win7系统中安装Android开发环境,那么怎样在Linux系统中配置Android开发环境呢?本篇文章就将演示如何使用Eclipse.Android SDK和PhoneGap在Ubuntu 11.04环境下配置Android开发环境. 以下是在Ubuntu linux系统中配置Android开发环境的几个步骤:        1.安装Eclipse和Android SDK/PhoneGap所需软件包: 打开终端,输入下面命令完成题目所述