一、ipython

ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。学习ipython将会让我们以一种更高的效率来使用python。同时它也是利用Python进行科学计算和交互可视化的一个最佳的平台。

Python的主要功能如下:

1.运行ipython控制台 

2.使用ipython作为系统shell 

3.使用历史输入(history) 

4.Tab补全 

5.使用%run命令运行脚本 

6.使用%timeit命令快速测量时间 

7.使用%pdb命令快速debug 

8.使用pylab进行交互计算 

9.使用IPython Notebook


安装ipython

ipython支持Python2.7版本或者3.3以上的版本,我用的是windows下的python 3.4版本。

安装ipython很简单,可以直接使用pip管理工具即可:

pip install ipython

这条命令会自动安装IPython以及它的各种依赖包

使用ipython

IPython支持所有python的标准输入输出,也就是我们在IDLE中或者Python shell中能用的,在IPython中都能够使用,唯一的不同之处使ipython会使用In [x]和Out [x]表示输入输出,并表示出相应的序号。

其实后面我们会知道,In和Out是两个保存历史信息的变量

直接输入ipython则可进入

python学习-ipython和pyenv_第1张图片

TAB自动补全

在shell中输入表达式时,只要按下Tab键,当前命名空间中任何与输入的字符串相匹配的变量(对象或者函数等)就会被找出来:

python学习-ipython和pyenv_第2张图片

内省

在变量的前面或者后面加上一个问号?,就可以将有关该对象的一些通用信息显示出来,这就叫做对象的内省

python学习-ipython和pyenv_第3张图片

如果对象是一个函数或者实例方法,则它的docstring也会被显示出来:

定义方法如下:

image.png

这时查看该方法的内省信息:

python学习-ipython和pyenv_第4张图片

如果使用两个问号??,那么还可以显示出该方法的源代码:

python学习-ipython和pyenv_第5张图片

可以使用通配符字符串查找出所有与该通配符字符串相匹配的名称,比如我们查找re模块下所有的包含find的函数:

python学习-ipython和pyenv_第6张图片

查看历史命令history

在IPython shell中,使用历史命令可以简单地使用上下翻页键即可,另外我们也可以使用hist命令(或者history命令)查看所有的历史输入

python学习-ipython和pyenv_第7张图片

如果在hist命令之后加上-n,即hist -n也可以显示出输入的序号:

python学习-ipython和pyenv_第8张图片

使用%run命令运行脚本

在ipython会话环境中,所有文件都可以通过%run命令当做Python程序来运行,输入%run 路径+python文件名称即可

python学习-ipython和pyenv_第9张图片

在IPython中使用系统shell

我们可以在IPython中直接使用系统shell,并获取读取结果作为一个Python字符串列表。为了实现这种功能,我们需要使用感叹号!作为shell命令的前缀。比如现在在我的windows系统中,直接在IPython中ping百度:

python学习-ipython和pyenv_第10张图片

自动补全

使用tab键进行自动补全

image.png

快捷键


  1. Ctrl-P    或上箭头键 后向搜索命令历史中以当前输入的文本开头的命令

  2. Ctrl-N   或下箭头键 前向搜索命令历史中以当前输入的文本开头的命令

  3. Ctrl-R   按行读取的反向历史搜索(部分匹配)

  4. Ctrl-Shift-v   从剪贴板粘贴文本

  5. Ctrl-C   中止当前正在执行的代码

  6. Ctrl-A   将光标移动到行首

  7. Ctrl-E   将光标移动到行尾

  8. Ctrl-K   删除从光标开始至行尾的文本

  9. Ctrl-U   清除当前行的所有文本译注12

  10. Ctrl-F   将光标向前移动一个字符

  11. Ctrl-b   将光标向后移动一个字符

  12. Ctrl-L   清屏


二、pyenv

系统自带的Python是2.x,自己需要Python 3.x,此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存,pyenv就是这样一个Python版本管理器。

安装依赖包

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

下载安装pyenv

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

设置环境变量

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

source ~/.bash_profile#即是启动语句,重启系统执行这条语句exec $SHELL

查看支持的版本,同时检测pyenv是否安装成功

pyenv install --list

python学习-ipython和pyenv_第11张图片

查看当前pyenv可检测到的所有版本,处于激活状态的版本前以 * 标示.

pyenv versions

image.png

设置面向程序的本地版本,通过将版本号写入当前目录下的.python-version 文件的方式。

 #在本地创建目录python36,执行pyenv local 3.6.3后,只有在这个目录是python 3.6.3的版本,别的目录使用默认的版本.

mkdir python3
cd python3
pyenv local 3.6.3
pyenv local --unset #取消本地目录环境配置

安装需要的python版本,如3.6.3

pyenv install 3.4.0 -v
#小技巧,可以在/root/.pyenv/目录下创建cache目录,将下载好的Python-3.4.0的包放在该目录下,就可以直接执行安装,而不需要下载,节省下载时间.

安装完成后,更新数据库生效

pyenv rehash

设置全局python版本

pyenv uninstall 3.6.3

卸载python 3.6,3