Python多版本切换工具-Pyenv\virtualenv及Anaconda科学计算环境的配置

为了安装Anaconda科学计算环境,控制好python版本,今天上午总算折腾好了。

  • 学习python有时希望在python2.7环境下,有时希望在python3.4环境下,该怎么办呢?
  • Anconda的包也不知道适合在什么环境下工作?

解决多python环境下,python版本切换的工具--pyenv应运而生。同时,另外一个工具virtualenv则提供了一种功能, 就是将一个目录建立为一个虚拟的python环境, 这样的话, 用户可以建立多个虚拟环境, 每个环境里面的python版本可以是不同的, 也可以是相同的, 而且环境之间相互独立。
下面简要介绍一下安装的过程:

Unix系统下pyenv安装与使用:

安装pyenv

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv     #使用 git 把 pyenv 下载到家目录
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc     #然后需要修改环境变量,使用 Bash Shell 的输入

$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc     #最后添加 pyenv init

$ exec $SHELL -l     #输入命令重启 Shell,然后就可以重启pyenv

查看pyenv可安装的版本列表

$ pyenv install --list

該命令将列出pyenv可以安装的列表,单单列举几个咱们关心的python和anaconda把:

2.7.8   # Python 2最新版本 

3.4.1   # Python 3最新版本

anaconda-2.4.0  # 支持Python 2.6和2.7

anaconda3-2.0.1 # 支持Python 3.3和3.4

安装指定的python版本。

$ pyenv install 3.4.1 

该命令会从github上下载python的源代码安装,但是,我这里主要是用来进行科学计算的环境安装,因此,最后选择安装
anaconda-2.4.0(python2.7环境) 和 anaconda3-2.4.0(python3.4环境)。可以选择都安装,之后可以使用pyenv进行版本的切换。
注:

  • 这里利用pyenv命令安装的python版本都安装在~.pyenv/versions文件夹下,当然,如果你从图形界面进入Ubuntu的用户主目录下可能看不见.pyenv文件夹,这时候,你可以使用**ls -a**看到隐藏的文件夹。
  • 使用pip安装的包完成之后,可能需要对数据库进行更新:

    pyenv rehash

卸载指定的python版本

pyenv uninstall x.x.x

python版本查看

查看当前已经安装了的python版本:

pyenv versions

输出结果如下:

*system (set by /home/michael/.pyenv/version)
2.7.1
3.4.1
anaconda-2.4.0

system是指系统的python版本;*表示当前环境所处于的python版本

python版本切换

全局版本切换:

pyenv global anaconda-2.4.0

全局切换为anaconda科学计算环境,因为,我现在也不做其他python开发,所以,无需再安装其他环境了。
查看现在的python版本:

michael@michael-ThinkCentre-XXXX:~$ pyenv versions
system
2.7.1
3.4.1
* anaconda-2.4.0 (set by /home/michael/.pyenv/version)

有全局版本切换,当然也会有局部环境的切换:
在test文件夹下希望切换到python3.4.1:

pyenv local python3.4.1

python virtualenv创建纯净虚拟环境

虽然直接安装pip安装virtualenv也行,但是通过pyenv插件的形式安装virtualenv的虚拟环境更加方便,因为之后的操作会比较方便。

安装插件pyenv-virtualenv

参考文章:http://www.tiny-coder.com/home-article-51.html
pyenv-virtualenv插件安装:项目主页:https://github.com/yyuu/pyenv-virtualenv
pyenv virtualenv是pyenv的插件,为UNIX系统上的Python virtualenvs提供pyenv virtualenv命令。

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile

这个插件将安装在主文件夹下的.pyenv文件夹中。

创建一个2.7.1的虚拟环境

pyenv virtualenv 2.7.1 env271

再需要创建虚拟环境的文件夹下创建虚拟环境。

这条命令在本机上创建了一个名为env271的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/

注意,命令中的 ‘2.7.1’ 必须是一个安装前面步骤已经安装好的python版本, 否则会出错。

然后我们可以继续通过 ‘pyenv versions’ 命令来查看当前的虚拟环境。

切换和使用新的python虚拟环境:

pyenv activate env271

这样就能切换为这个版本的虚拟环境。通过输入python查看现在版本,可以发现处于虚拟环境下了。
下面基本上你就可以在这个虚拟环境里面为所欲为了 :) 再也不用担心系统路径被搞乱的问题了
如果要切换回系统环境, 运行这个命令即可

pyenv deactivate

那如果要删除这个虚拟环境呢? 答案简单而且粗暴,只要直接删除它所在的目录就好:

rm -rf ~/.pyenv/versions/env271/

或者卸载:

pyenv uninstall env271

Anaconda科学计算包的使用:

使用conda list查看anaconda安装自带的包:

michael@michael-ThinkCentre-XXXX:~/test$ conda list
# packages in environment at /home/michael/.pyenv/versions/anaconda-2.4.0:
#
abstract-rendering 0.5.1 np110py27_0
alabaster 0.7.6 py27_0
anaconda 2.4.0 np110py27_0
anaconda-client 1.1.0 py27_0
argcomplete 1.0.0 py27_1
astropy 1.0.5 np110py27_1
babel 2.1.1 py27_0
backports.ssl-match-hostname 3.4.0.2 <pip>

注:

  • 使用conda list命令的环境时python版本切换到anaconda版本下,不然,这个命令无法来查询。
  • 看上面列表就能知道,anaconda的环境下,也是能使用系统pip命令安装的包的!

给anaconda安装包

conda install ××××

如果需要指定包的版本。

[package-name]=x.x   #指定包的版本

多个Python版本并存,尤其是2.x和3.x的并存。

这个通过virtualenv可以做到。Anaconda也正是通过其实现的。下面用conda创建一个名叫python2的版本为python2.7的环境。

conda create -n python2 python=2.7

这样就会在Anaconda安装目录下的envs目录下创建python2这个目录。
向其中安装扩展可以:

直接用conda install并用-n指明安装到的环境,这里自然就是python2。
像virtualenv那样,先activate,然后在虚拟环境中安装。
注:

  • 关于virtualenv的使用,还需了解,可以参考python生态
  • 下面的操作,貌似会安装很多包,谨慎使用。
conda create -n py34 python=3.4 anaconda

利用Pycharm的版本切换功能~推荐!很方便!

可以选择安装anaconda 不同的版本,然后按照下面操作,切换版本。Windows/Linux下都有[Pycharm][1]。

打开pycharm,打开preference --> project --> project interpreter-->

Windows系统切换

首先当然是安装你需要的两个不同版本的python,我安装的是2.7和3.4的,两个版本安装顺序无所谓,但是后面安装的会变成默认的(因为我是后安装的python 3.4,它就变成了默认的python)。

然后去python27 文件夹下面把python.exe改名python2.exe,然后就可以在命令行下通过python或者py来调用3.x,python2来调用2.x。

另外pip的话直接使用 pip2 或者 pip3 就可以了。

virtualenv

简单来说,你的每一个项目都可以拥有一个单独的、孤立的Python环境;你可以把所需的包安装到各自孤立的环境中。^1

  • 还是通过pip安装virutalenv。

    sudo pip install virtualenv
    
  • 安装完之后,运行下面的命令,为你的项目创建孤立的Python环境。
    $ mkdir my_project_venv
    $ virtualenv --distribute my_project_venv
    # The output will something like:
    New python executable in my_project_venv/bin/python
    Installing distribute.............................................done.
    Installing pip.....................done.
    

那么这行代码都做了些什么呢?你创建了一个名叫my_project_venv的文件夹,用于存储新的Python环境。--distribute参数告诉virtualenv使用基于distribute包开发的新的、更好的打包系统,而不是基于setuptools的旧系统。你现在只需要知道,--distribute参数将会自动在虚拟环境中安装pip,免去了手动安装的麻烦。随着你的Python编程经验和知识增加,你会慢慢明白这个过程的具体细节。

  • 通过下面的命令,激活虚拟环境:

    $ cd my_project_venv
    $ source bin/activate

使用source命令启动activate脚本之后,你的命令行提示符应该会变成这样:

(my_project_venv)$

虚拟环境的名称会添加在$提示符的前面。

  • 现在运行下面的命令,关闭虚拟环境:

    (my_project_venv)$ deactivate

当你在系统层面安装virtualenv时(如果激活了虚拟环境,请先关闭),可以运行下面的命令帮助自己理解。

首先,我们来看看如果我们在终端输入python或者pip,系统会使用哪个执行文件。

$ which python
/usr/bin/python
$ which pip
/usr/local/bin/pip

参考:

pyenv

  1. Python多版本共存之pyenv
  2. yyuu/pyenv-github
  3. 用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
  4. lixm/pybooklet-github
  5. 使用 pyenv 和 Miniconda 管理 Python 科学计算环境
  6. Python 2.X 3.X 多版本共存
  7. 一篇文章入门Python生态系统
  8. 用pyenv和virtualenv搭建python虚拟环境

Anaconda

  1. DOWNLOAD ANACONDA NOW
  2. [P]ython科学计算利器——Anaconda](http://www.cnblogs.com/CodeCabin/p/3961118.html)
  3. Python科学计算发行版—Anaconda
时间: 2024-11-08 17:26:32

Python多版本切换工具-Pyenv\virtualenv及Anaconda科学计算环境的配置的相关文章

Python科学计算环境推荐——Anaconda_python

Anaconda是一个和Canopy类似的科学计算环境,但用起来更加方便.自带的包管理器conda也很强大. 首先是下载安装.Anaconda提供了Python2.7和Python3.4两个版本,同时如果需要其他版本,还可以通过conda来创建.安装完成后可以看到,Anaconda提供了Spyder,IPython和一个命令行.下面来看一下conda. 输入 conda list 来看一下所有安装时自带的Python扩展.粗略看了一下,其中包括了常用的 Numpy , Scipy , matpl

Python基础框架和工具

Python基础框架和工具 最近在学Python金融大数据分析,在安装Python进行大数据分析的环境时遇到很多问题,例如:在安装pandas包时候就要到各种错误,总是缺少很多安装包,最后发现利用Python的Anaconda进行科学计算环境的搭建非常方便. Anaconda是和Canopy类似的科学计算环境,安装非常方便,而且自带的conda包管理器也十分强大. 1. Anaconda介绍: 我们可以从http://continuum.io/downloads上下载适合你操作系统的Anacon

如何将 Debian Linux 中的默认的 Python 版本切换为替代版本

如何将 Debian Linux 中的默认的 Python 版本切换为替代版本 当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.你可以按照以下方法使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用. $ ls /usr/bin/python* /usr/bin/python /usr/bin/python2 /usr/bin/python2.7 /usr/bin/p

python包管理-distutils,setuptools,pip,virtualenv等介绍

python包管理-distutils,setuptools,pip,virtualenv等介绍 对于每个编程语言来说打包和发布开发包往往非常重要,而作为一个编程者能够快速容易的获得并应用这些由第三方提供的包同样非常重要.类似于java为了便于管理有人开发了maven等管理工作,而python自然而然也需要便捷的打包和发布工具,以下就介绍python的几个包管理方式.   一  distutils - Python自带的基本安装工具, 适用于非常简单的应用场景使用 通过distutils来打包,

基于Python 的进程管理工具supervisor使用指南_python

Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上.Supervisor 官方版目前只能运行在 Python 2.4 以上版本,但是还无法运行在 Python 3 上,不过已经有一个 Python 3 的移植版 supervisor-py3k. 什么情况下我们需要进程管理呢?就是执行一些需要以守护进程方式执行的程序,比如一个后台任务,我最常用的是用来启动和管理基于 Tornado 写的 Web 程序. 除此之

ubuntu下安装Python多版本的方法及注意事项_Linux

今天一不小心又把ubuntu系统给完坏了,因为我把python3卸载了,然后就...好了,不废话了,接下来就说一下如何在ubuntu下管理python的多个版本.我这里使用的是一个叫pyenv的Python版本管理工具. 系统环境:ubuntu14.04LTS,系统默认的python版本为2.7,我这里想要再安装一个3.4.3版本. 再安装python之前,我们首先要安装这个管理工具pyenv: $ git clone git://github.com/yyuu/pyenv.git ~/.pye

Python实现代码统计工具(终极篇)_python

本文对于先前系列文章中实现的C/Python代码统计工具(CPLineCounter),通过C扩展接口重写核心算法加以优化,并与网上常见的统计工具做对比.实测表明,CPLineCounter在统计精度和性能方面均优于其他同类统计工具.以千万行代码为例评测性能,CPLineCounter在Cpython和Pypy环境下运行时,比国外统计工具cloc1.64分别快14.5倍和29倍,比国内SourceCounter3.4分别快1.8倍和3.6倍. 运行测试环境本文基于Windows系统平台,运行和测

《Python数据科学实践指南》——第1章 Python介绍 1.1 Python的版本之争

第1章 Python介绍 本书主要介绍数据科学所使用的工具,但因为每一种语言都有自己的生态系统,而笔者多用Python,所以本书主要会从Python的角度来介绍这些工具.阅读本书的读者,不管之前的基础如何,如果对Python这门编程语言有一定的了解,将能更好地掌握书中内容.可能有很多读者曾经在学校里学过C/C++或是VB,又或者听说过Java.PHP等这样广泛使用的编程语言,初闻Python的时候可能会对这个名字略感陌生,不过这一点并不能阻碍Python成为数据科学领域的"一等公民".

Python数据可视化2.7 Python中的可视化工具

2.7 Python中的可视化工具 数据分析和可视化需要一些软件工具:用一个文本编辑器来写代码(最好语法高亮),用Python和其他库来运行和测试代码,可能还要用一个工具展示这些结果.现有两种软件工具:通用的软件工具和特定软件组件. 开发工具 通用的软件工具是集成开发环境(integrated development environment,IDE),这是一种同一软件包内囊括所有生产工具的应用程序.从处理Python库的角度来看,这些IDE通常非常方便.有关IDE工具的更多细节将在下一章讨论.本