为了安装Anaconda科学计算环境,控制好python版本,今天上午总算折腾好了。
- 学习python有时希望在python2.7环境下,有时希望在python3.4环境下,该怎么办呢?
- Anconda的包也不知道适合在什么环境下工作?
解决多python环境下,python版本切换的工具–pyenv应运而生。同时,另外一个工具virtualenv则提供了一种功能, 就是将一个目录建立为一个虚拟的python环境, 这样的话, 用户可以建立多个虚拟环境, 每个环境里面的python版本可以是不同的, 也可以是相同的, 而且环境之间相互独立。
下面简要介绍一下安装的过程:
Unix系统下pyenv安装与使用:
安装pyenv
12345678 | $ 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可安装的版本列表
1 | $ pyenv install —list |
該命令将列出pyenv可以安装的列表,单单列举几个咱们关心的python和anaconda把:
1234567 | 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版本。
1 | $ 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
安装的包完成之后,可能需要对数据库进行更新:
1 | pyenv rehash |
卸载指定的python版本
1 | pyenv uninstall x.x.x |
python版本查看
查看当前已经安装了的python版本:
1 | pyenv versions |
输出结果如下:
1234 | *system (set by /home/michael/.pyenv/version)2.7.13.4.1anaconda–2.4.0 |
system是指系统的python版本;*表示当前环境所处于的python版本
python版本切换
全局版本切换:
1 | pyenv global anaconda–2.4.0 |
全局切换为anaconda科学计算环境,因为,我现在也不做其他python开发,所以,无需再安装其他环境了。
查看现在的python版本:
12345 | michael@michael–ThinkCentre–XXXX:~$ pyenv versionssystem2.7.13.4.1* anaconda–2.4.0 (set by /home/michael/.pyenv/version) |
有全局版本切换,当然也会有局部环境的切换:
在test文件夹下希望切换到python3.4.1:
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命令。
123 | git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenvecho \’eval \”$(pyenv virtualenv-init -)\”\’ >> ~/.bash_profilesource ~/.bash_profile |
这个插件将安装在主文件夹下的.pyenv文件夹中。
创建一个2.7.1的虚拟环境
1 | pyenv virtualenv 2.7.1 env271 |
再需要创建虚拟环境的文件夹下创建虚拟环境。
这条命令在本机上创建了一个名为env271的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/
注意,命令中的 ‘2.7.1’ 必须是一个安装前面步骤已经安装好的python版本, 否则会出错。
然后我们可以继续通过 ‘pyenv versions’ 命令来查看当前的虚拟环境。
切换和使用新的python虚拟环境:
1 | pyenv activate env271 |
这样就能切换为这个版本的虚拟环境。通过输入python
查看现在版本,可以发现处于虚拟环境下了。
下面基本上你就可以在这个虚拟环境里面为所欲为了