为了安装anaconda科学计算环境,控制好python版本,今天上午总算折腾好了。
学习python有时希望在python2.7环境下,有时希望在python3.4环境下,该怎么办呢?
anconda的包也不知道适合在什么环境下工作?
解决多python环境下,python版本切换的工具--pyenv应运而生。同时,另外一个工具virtualenv则提供了一种功能, 就是将一个目录建立为一个虚拟的python环境, 这样的话, 用户可以建立多个虚拟环境, 每个环境里面的python版本可以是不同的, 也可以是相同的, 而且环境之间相互独立。
下面简要介绍一下安装的过程:
該命令将列出pyenv可以安装的列表,单单列举几个咱们关心的python和anaconda把:
该命令会从github上下载python的源代码安装,但是,我这里主要是用来进行科学计算的环境安装,因此,最后选择安装
anaconda-2.4.0(python2.7环境) 和 anaconda3-2.4.0(python3.4环境)。可以选择都安装,之后可以使用pyenv进行版本的切换。
注:
这里利用pyenv命令安装的python版本都安装在~.pyenv/versions文件夹下,当然,如果你从图形界面进入ubuntu的用户主目录下可能看不见.pyenv文件夹,这时候,你可以使用<code>ls -a</code>看到隐藏的文件夹。
使用<code>pip</code>安装的包完成之后,可能需要对数据库进行更新:
查看当前已经安装了的python版本:
输出结果如下:
system是指系统的python版本;*表示当前环境所处于的python版本
全局版本切换:
全局切换为anaconda科学计算环境,因为,我现在也不做其他python开发,所以,无需再安装其他环境了。
查看现在的python版本:
有全局版本切换,当然也会有局部环境的切换:
在test文件夹下希望切换到python3.4.1:
虽然直接安装pip安装virtualenv也行,但是通过pyenv插件的形式安装virtualenv的虚拟环境更加方便,因为之后的操作会比较方便。
pyenv virtualenv是pyenv的插件,为unix系统上的python virtualenvs提供pyenv virtualenv命令。
这个插件将安装在主文件夹下的.pyenv文件夹中。
再需要创建虚拟环境的文件夹下创建虚拟环境。
这条命令在本机上创建了一个名为env271的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/
注意,命令中的 ‘2.7.1’ 必须是一个安装前面步骤已经安装好的python版本, 否则会出错。
然后我们可以继续通过 ‘pyenv versions’ 命令来查看当前的虚拟环境。
这样就能切换为这个版本的虚拟环境。通过输入<code>python</code>查看现在版本,可以发现处于虚拟环境下了。
下面基本上你就可以在这个虚拟环境里面为所欲为了 :) 再也不用担心系统路径被搞乱的问题了
如果要切换回系统环境, 运行这个命令即可
那如果要删除这个虚拟环境呢? 答案简单而且粗暴,只要直接删除它所在的目录就好:
或者卸载:
使用<code>conda list</code>命令的环境时python版本切换到anaconda版本下,不然,这个命令无法来查询。
看上面列表就能知道,anaconda的环境下,也是能使用系统<code>pip</code>命令安装的包的!
这个通过virtualenv可以做到。anaconda也正是通过其实现的。下面用conda创建一个名叫python2的版本为python2.7的环境。
这样就会在anaconda安装目录下的envs目录下创建python2这个目录。
向其中安装扩展可以:
直接用conda install并用-n指明安装到的环境,这里自然就是python2。
像virtualenv那样,先activate,然后在虚拟环境中安装。
关于<code>virtualenv</code>的使用,还需了解,可以参考python生态
下面的操作,貌似会安装很多包,谨慎使用。
可以选择安装anaconda 不同的版本,然后按照下面操作,切换版本。windows/linux下都有pycharm。
打开pycharm,打开preference --> project --> project interpreter-->
首先当然是安装你需要的两个不同版本的python,我安装的是2.7和3.4的,两个版本安装顺序无所谓,但是后面安装的会变成默认的(因为我是后安装的python 3.4,它就变成了默认的python)。
然后去python27 文件夹下面把python.exe改名python2.exe,然后就可以在命令行下通过python或者py来调用3.x,python2来调用2.x。
另外pip的话直接使用 pip2 或者 pip3 就可以了。
还是通过pip安装virutalenv。
安装完之后,运行下面的命令,为你的项目创建孤立的python环境。
那么这行代码都做了些什么呢?你创建了一个名叫my_project_venv的文件夹,用于存储新的python环境。--distribute参数告诉virtualenv使用基于distribute包开发的新的、更好的打包系统,而不是基于setuptools的旧系统。你现在只需要知道,--distribute参数将会自动在虚拟环境中安装pip,免去了手动安装的麻烦。随着你的python编程经验和知识增加,你会慢慢明白这个过程的具体细节。
通过下面的命令,激活虚拟环境:
使用source命令启动activate脚本之后,你的命令行提示符应该会变成这样:
虚拟环境的名称会添加在$提示符的前面。
现在运行下面的命令,关闭虚拟环境:
当你在系统层面安装virtualenv时(如果激活了虚拟环境,请先关闭),可以运行下面的命令帮助自己理解。
首先,我们来看看如果我们在终端输入python或者pip,系统会使用哪个执行文件。
<a href="http://seisman.info/python-pyenv.html">python多版本共存之pyenv</a>
<a href="https://github.com/yyuu/pyenv#installation">yyuu/pyenv-github</a>
<a href="http://www.cnblogs.com/npumenglei/p/3719412.html">用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境</a>
<a href="https://github.com/lixm/pybooklet/blob/master/install.md">lixm/pybooklet-github</a>
<a href="http://huangziwei.com/tech/setting-up-scientific-python-environment-in-os-x-10-10-using-miniconda/">使用 pyenv 和 miniconda 管理 python 科学计算环境</a>
<a href="http://zhangnew.com/2015-06-09-python-2-3-exist.html">python 2.x 3.x 多版本共存</a>
<a href="http://codingpy.com/article/python-ecosystem-introduction/">一篇文章入门python生态系统</a>
<a href="http://www.tiny-coder.com/home-article-51.html">用pyenv和virtualenv搭建python虚拟环境</a>
<a href="https://www.continuum.io/downloads">download anaconda now</a>
<a href="http://www.cnblogs.com/super-d2/p/4725818.html">python科学计算发行版—anaconda</a>