Setup Python 开发环境和IPython的基本使用
目录
前言
常言道:工欲善其事,必先利其器。编程语言的学习是久远的,一步一脚印。现在从最基础的开发环境的部署开始,开启我们Python之路吧。在大多数Linux的发行版中都会预安装Python的编译环境来满足和支持系统内部软件的运行。Ubuntu Kylin 也预安装了Python-2.7.6,输入python指令就可以进入Python自带的Shell。但是此PythonShell一般用于调试Python脚本,其功能远不能满足程序开发。下面我会介绍Python交互式Shell–IPython的安装是基本使用。
软件准备
- 系统
- UbuntuKylin 14.04
- 软件
- IPython-4.0.0
- Python-2.7.6
Python交互式Shell
1.为Python Shell添加补全功能
方法一:导入tab.py自动补全模块
建立自定义的Python workspace,在于个人的工作习惯,将程序的代码规范的管理起来。
a). 创建workspace directory,并workspase目录加入PATH环境变量。
查看原有的$PATH
mkdir /usr/local/src/pyScript
#在profile中编辑环境变量PATH
vim /etc/profile
PATH=${PATH}:/usr/local/src/pyScript
#重新加载profile的环境变量
source /etc/profile
确认workspase目录加入到了PATH
b). 使用别名alias快捷进入workspase
alias py='cd /usr/local/src/pyScript/'
vim ~/.bashrc
# add some aliases by maunal.
alias py='cd /usr/local/src/pyScript'
source ~/.bashrc
实现永久增加Alias
root@Jmilk:~# py
root@Jmilk:/usr/local/src/pyScript#
c). 创建自动补全tab Module
vim /usr/local/src/pyScript/tab.py
tab.py代码如下:
#!/usr/bin/env python
# python startup file
'''Python 自动补全功能脚本tab.py'''
import sys
import readline
import rlcompleter
import atexit
import os
# tab completion
readline.parse_and_bind('tab: complete')
# history file
histfile = os.path.join(os.environ['HOME'], '.pythonhistory')
try:
readline.read_history_file(histfile)
except IOError:
pass
atexit.register(readline.write_history_file, histfile)
del os, histfile, readline, rlcompleter
这时候在执行python指令进入交互式Shell后,再执行import tab带入tab模块即可以实现自动补全功能。
root@Jmilk:/usr/local/src/pyScript# python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tab
>>> import commands
>>> commands.get
commands.getoutput( commands.getstatusoutput(
commands.getstatus(
#commands Module是使用Bash指令的模块
需要注意的是:import tab指令需要在tab.py文件的当前目录下执行,而且每次登入到PythonShell时都需要执行一次,非常的不方便。可以通过修改~/.bashrc文件来实现自动带入tab Module。
vim ~/.bashrc
#Add the content as below.
export PYTHONSTARTUP=/usr/local/src/pyScript/tab.py
重新打开Bash实现自动导入tab Module。
2.IPython-4.0.0
Python的优点之一是其交互式的解析器,通过Shell可以做到所见即所得的得到快速的及时执行结果,便于调试。而IPython-4.0.0则将Python这一个优点更加不遗余力的发挥出来。IPython是一个功能强大且实用性强的交互式Shell,支持自动补全、自动缩进、Bash指令、内置函数、历史记录等实用性功a能。
安装IPython有多种方法和工具,例如:easy_install、pip、apt-get、源码安装等,甚至IPython可以在使用源码不安装的情况下使用。下面由简易到复杂的列出:
a). 使用系统自身软件管理器
Ubuntu:
apt-get install ipython
默认安装路径为:/usr/share/python-support/ipython
二进制文件路径:/usr/bin/ipython
RHEL:
yum list | grep ipython
yum install -y ipython
b). 使用Python库进行安装:
首先需要安装pip或easy_install工具
easy_insall ipython
c). 使用源码包安装
IPython下载传送门:
https://pypi.python.org/pypi/ipython
tar zxvf ipython-4.0.0.tar.gz -C /usr/local/
cd ipython-4.0.0
python setup.py install
安装完成后键入ipython进入新的交互式Shell
自此可以正式开始你的Python 学习之旅
IPython功能和特性基础
1.可直接使用部分的Bash指令
In [3]: cd /root/
/root
In [4]: pwd
Out[4]: u'/root'
In [5]: ll
总用量 44
-rw-r--r-- 1 root 266 6月 12 11:43 checkPort.py
drwxr-xr-x 2 root 4096 8月 29 16:56 Desktop/
drwxr-xr-x 2 root 4096 8月 26 07:07 python/
-rw-r--r-- 1 root 59 6月 18 15:51 ttx.log
drwxr-xr-x 2 root 4096 8月 26 02:44 公共的/
drwxr-xr-x 2 root 4096 8月 26 02:44 模板/
drwxr-xr-x 2 root 4096 8月 26 02:44 视频/
drwxr-xr-x 2 root 4096 8月 29 16:52 图片/
drwxr-xr-x 2 root 4096 8月 26 02:44 文档/
drwxr-xr-x 4 root 4096 8月 29 19:30 下载/
drwxr-xr-x 2 root 4096 8月 26 02:44 音乐/
2.别名%alias(语法有别于Bash)
In [29]: %alias py cd /usr/local/src/pyScript/
In [30]: py
In [31]: pwd
Out[31]: u'/usr/local/src/pyScript'
注:使用%unalias可以删除别名,而且%alias 定义的别名只在本次会话中有效,需要永久保存别名需要使用%store函数。
In [124]: %store py
如果忘记了定义的别名名称,可以使用选项 -r 来回复上次会话定义的别名。
3.支持参数%s,善用于脚本上
In [42]: %alias nst netstat -lpntu | grep "%s"
In [43]: nst 80
tcp6 0 0 :::80 :::* LISTEN 2820/apache2
4.将IPython中的变量传递到Bash中
In [64]: ap = "80"
In [65]: nst $ap
tcp6 0 0 :::80 :::* LISTEN 2820/apache2
5.特殊符号
a). 利用’ ! ‘实现直接执行Shell命令
In [68]: !whoami
root
In [69]: !date
2015年 08月 29日 星期六 21:43:38 CST
b). 利用’ !! ‘将执行Bash指令的结果以列表序列的形式存储到Out[]中,便于作后期数据处理
In [86]: !!cat /etc/passwd | awk -F ":" '{print $1}'
Out[86]:
['root',
'daemon',
'bin',
'sys',
'sync',
'games',
'man',
'lp',
'mail',
'news',
'uucp',
'proxy',
'www-data',
'backup',
'list',
'irc',
'gnats',
'nobody',
'libuuid',
'syslog',
'messagebus',
'usbmux',
'dnsmasq',
'avahi-autoipd',
'kernoops',
'rtkit',
'saned',
'whoopsie',
'speech-dispatcher',
'avahi',
'lightdm',
'colord',
'hplip',
'pulse',
'jmilk',
'stack',
'memcache',
'sshd',
'postgres',
'rabbitmq',
'mysql',
'haproxy',
'libvirt-qemu',
'libvirt-dnsmasq',
'guest-5LawJh']
In [87]: Out[86][1]
Out[87]: 'daemon'
c). 利用” _ “获取上一次Out[]的结果,实现快速简便的处理数据
In [88]: userName = _
In [89]: userName
Out[89]: 'daemon'
6.显示历史记录和查看指令详细信息
In [100]: %hist -n
1: import commands
.
.
74: !!cat /etc/passwd | awk -F ":" '{print $1}'
.
.
100: %hist -n
In [101]: %edit 74
%edit number指令,默认使用vi显示number匹配的History指令的详细信息,对测调试程序有很大的帮助。例如查看并可编辑上述第74条指令:
get_ipython().getoutput(u'cat /etc/passwd | awk -F ":" \'{print $1}\'')
执行后会在/tmp目录下创建目录来存放编辑后的文件
7.定义宏
In [118]: user = ['jmilk','fan']
In [119]: for name in user: print '\033[31;1mUser name is %s \033[0m' % nameUser name is jmilk
User name is fan
In [120]: %macro list_user 119
Macro `list_user` created. To execute, type its name (without quotes).
=== Macro contents: ===
for name in user: print '\033[31;1mUser name is %s \033[0m' % name
In [121]: list_user
User name is jmilk
User name is fan
以上只是IPython的冰山一角,随着熟练的使用IPython,可以更便捷高效的编写Python程序,在往后的博文中,我们会在学习的过程中更加深入去发掘IPython的实战应用。
Jmilk
Setup Python 开发环境和IPython的基本使用的更多相关文章
- 【python安装】Windows上安装和创建python开发环境
1. 在 windows10 上安装python开发环境 Linux和Mac OS都自带python环境,但是Windows没有,所以需要自行安装. 第1步:访问 python官网,下载Windows ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- kali linux Python开发环境初始化
kali linux Python 黑客编程1 开发环境初始化 为什么要选择Python? Python作为目前Linux系统下最流行的编程语言之一,对于安全工作者的作用可以和C++相提并论.Pyth ...
- 翻译:打造基于Sublime Text 3的全能python开发环境
原文地址:https://realpython.com/blog/python/setting-up-sublime-text-3-for-full-stack-python-development/ ...
- Python开发环境
--> Python开发环境简备 Python的优点除了其自身的各种特点外,还因为有众多第三方模块,为其扩展了各方面无数的功能. 虽然大多数时候在百度上随便搜都能搜到一大把,pypi (http ...
- eclipse python开发环境搭建
eclipse python开发环境搭建[非原创] 1.在www.eclipse.org官网下载Eclipse Classic 4.2.2,Win7 64位下载eclipse-SDK-4.2.2-wi ...
- Docker教程:使用docker配置python开发环境
http://blog.csdn.net/pipisorry/article/details/50808034 Docker的安装和配置 [Docker教程:docker的安装] [Docker教程: ...
- python开发环境设置(windows)
python开发环境设置(windows) 1) python2.7.3安装 在www.python.org上下载python-2.7.6.amd64.msi软件.安装完毕后设置path路径.控制面 ...
- 『无为则无心』Python基础 — 3、搭建Python开发环境
目录 1.Python开发环境介绍 2.Python解释器的分类 3.下载Python解释器 4.安装Python解释器 5.Python解释器验证 1.Python开发环境介绍 所谓"工欲 ...
随机推荐
- CentOS7 安装 RocketMQ 实践和小示例
CentOS7 安装 RocketMQ 实践和小示例 1.通过 SSH 工具(比如 XShell)连接到 CentOS7 服务器上: 2.进入到 /usr/local 目录中: cd /usr/loc ...
- Hadoop-No.8之时间戳
要获得良好的HBase的模式设计,要正确的理解和使用时间错.在HBase中,时间戳的作用如下所述. 时间戳决定了在put请求修改记录时那些记录更新 时间戳决定了一条记录的多个版本在返回时的排序 时间戳 ...
- 【原】涉及数据库的单元测试-JTeser
JTeser方法之一:@DbFit 一.maven 依赖项 <dependency> <groupId>org.testng</groupId> <artif ...
- docker安装redis并允许外网访问
拉取redis镜像 docker pull redis:3.2 本地新建redis配置文件 redis.conf ,写入以下内容 #允许外网访问bind 0.0.0.0 daemonize NO pr ...
- yii ActiveRecord
在活动记录里自定义属性(数据表里没有的属性), 起初没有注意到问题. 在这个继承了activeRecord的模型中, 还自定义了很多方法, 此为前提. 出现的问题是: 使用属性获取不到数据库的字段 ...
- java+大文件上传+下载
我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 这次项目的需求: 支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,i ...
- hihocoder 1251 Today is a rainy day ( 15年北京 C、暴力 )
题目链接 题意 : 一串数字变成另一串数字,可以单个数字转变,或者一类数字转变,问最少操作次数 分析 : 15年北京赛区的银牌题 首先有一个点需要想明白.或者猜得到 即最优的做法肯定是先做完 2 操作 ...
- K8S中的Job和CronJob
Job Job负责批量处理短暂的一次性任务 (short lived one-off tasks),即仅执行一次的任务,它保证批处理任务的一个或多个Pod成功结束. Kubernetes支持以下几种J ...
- delphi请求http接口中文乱码问题
请求http接口的时候参数值是中文乱码: http接口一般都是由java,php以及C#开发而成的,乱码的原因也是由于编码的问题,一般传递数据的都是utf8,然后传递的时候都会urlEcode 那么d ...
- ArrayList,LinkedList和String
import java.util.ArrayList; public class Demo{ public static void main(String[] args) throws Excepti ...