title: IPython中Python版本问题的更改
date: 2016-08-23 09:51:34
categories:
- Spark
tags: - IPython
- Spark
ipython 默认 python 版本配置 及 virtualenv 的使用
问题背景
在使用 python 版本的 spark shell 的过程中,如果能够使用 IPython 进行加强的话,使用上会方便很多。但是因为首先安装了 Anaconda3 导致 IPython 随着 Anaconda3 默认安装,同时 ipython 默认环境是 Anaconda3 中 的 Python3.x,这使得在使用 spark-shell 中会出错(因为 pyspark 默认使用 python2.7 版本,暂时没有查到 pyspark 是否支持 python3.x 的资料)。
所以我尝试了几种方法,都不是很有效,最终选择了 virtualenv 并且很好地解决了问题。
virtualenv 的使用
安装
在 Ubuntu16.04 环境下,可以直接用 apt-get 进行安装
sudo apt-get install virtualenv
或者通过 pip 进行安装
pip install virtualenv
初始化
使用 virtualenv 需要指定目录
alan@ubuntu:~$ mkdir virtualenv_dir
alan@ubuntu:~$ cd virtualenv_dir/
alan@ubuntu:~/virtualenv_dir$ virtualenv test2.7
Running virtualenv with interpreter /home/alan/anaconda2/bin/python2
New python executable in /home/alan/virtualenv_dir/test2.7/bin/python2
Also creating executable in /home/alan/virtualenv_dir/test2.7/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
此时,virtualenv 已经将各种包安装至指定环境,(比较疑惑的是,为什么 virtualenv 会直接指定 Python2,那么如何切换到其他版本呢?)
启动
alan@ubuntu:~/virtualenv_dir$ cd test2.7/
alan@ubuntu:~/virtualenv_dir/test2.7$ source ./bin/activate
(test2.7) alan@ubuntu:~/virtualenv_dir/test2.7$ ipython
WARNING: Attempting to work in a virtualenv. If you encounter problems, please install IPython inside the virtualenv.
Python 2.7.12 |Anaconda 4.1.1 (64-bit)| (default, Jul 2 2016, 17:42:40)
Type "copyright", "credits" or "license" for more information.
...
此时可以发现,运行环境最前面加上了(test2.7),说明已经成功进入了虚拟环境。
再启动 ipython ,可以通过提示信息看到此时已经是 python2.7 环境了。