python编译环境发掘——从IDLE到sublime到pycharm到Anaconda
一个好的编译器对于我们处理日常的科研很关键,好的编译器无论是从界面,字体风格,提示,调试等各方面都能从用户角度出发,提供最好的使用体验。Python本身自带的IDLE或者在CMD里进行操作和调试,对于小型的测试程序和学习的时候是可以的;但是对相对比较大的程序,它们就显得有些力不从心了,首先是查找和提示的,还有就是当你想要改变程序中某个变量或者函数的名称,一个个查找是让人奔溃的事情。
本人显示从IDLE和CMD开始Python码城过程的,慢慢的发现,相对于以前使用的VS和eclipse,它们显得太LOW了。我开始尝试在sublime里面进行编辑,给sublime装插件,能够直接运行Python程序(Ctrl+B),以及进行代码智能提示。sublime用了好长一段时间,还是比较好用的,代码的显示也比较让人愉悦,你也可以按自己的喜好去进行配置。总的来说,还是比较推荐sublime的。还有就是pycharm了,有很多的Python开发者使用它,PyCharm确实是Python开发之首选。我也用过一段时间,习惯了sublime,就没太多的去研究,总体来说也还是比较推荐的编译器之一。
后来在别人的博客中看到了ipython,它是一个Python交互式的shell,比默认的shell要好用,支持变量的自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。安装也很简单,windows下直接在命令行输入:python –m pip install IPython。最让人惊喜的是,ipython中提供了一下简单好用的magic函数。以下是百度上列举的常用命令:
%bg function把 function 放到后台执行,例如: %bg myfunc(x, y,z=1),之后可以用jobs将其结果取回。myvar = jobs.result(5) 或 myvar =jobs[5].result。另外,jobs.status() 可以查看现有任务的状态。
%ed 或 %edit编辑一个文件并执行,如果只编辑不执行,用 ed -x filename 即可。
%env显示环境变量
%hist 或 %history显示历史记录
%macro name n1-n2 n3-n4 ... n5 .. n6 ...创建一个名称为 name 的宏,执行 name 就是执行 n1-n2 n3-n4 ... n5 .. n6 ...这些代码。
%pwd显示当前目录
%pycat filename用语法高亮显示一个 python 文件(不用加.py后缀名)
%save filename n1-n2 n3-n4 ... n5 .. n6 ...将执行过多代码保存为文件
%time statement计算一段代码的执行时间
%timeit statement自动选择重复和循环次数计算一段代码的执行时间,太方便了。
然而百度漏掉了比较常用的%run,可以用来运行外部的Python脚本。还有**??来显示某个模块用法,如import os,os??。其他的包括查看变量的值,代码运行效率检查等。下次我将单独开一篇讲常见的magic命令,这次就不多赘述。
说完自己选择编译器进行开发的过程,终于要来到我们的重点了——Anaconda。一个偶然的机会,看到师兄使用ipython notebook进行汇报,可以在页面进行代码和文档排版编写,对于科学计算非常方便。ipython notebook是web based IPython封装,但是可以展现丰富文本,使得整个工作可以以笔记的形式展现、存储,对于交互编程、学习非常方便。关于ipython notebook的具体使用,找机会单独另开一节,在此不是重点。下图是它的页面,在上面还可以用markdown标记编辑文本。可以呈现很不错的文档页面。
Anaconda是一个集成的环境,现在已经升级到Anaconda2了,直接下载安装,很方便,集成了Python,ipython,notebook,Spyder和qtconsole,如下所示。之前的ipython notebook也改为了jupyter notebook。
Anaconda是一个和Canopy类似的科学计算环境,但用起来更加方便。自带的包管理器conda也很强大。Anaconda提供了Python2.7和Python3.4两个版本,同时如果需要其他版本,还可以通过conda来创建。
下面来看一下conda。输入 conda list 来看一下所有安装时自带的Python扩展。粗略看了一下,其中包括了常用的 Numpy , Scipy , matplotlib 和 networkx 等,以及 beautiful-soup , requests , flask , tornado 等网络相关的扩展,还有常用的科学工具包,scikit-image,scikit-learn等。其他没有的包可以通过pip,easy_install安装,也可以通过它特有的conda来进行安装,conda install ***,如果需要指定版本,也可以直接用 [package-name]=x.x 来指定。conda的repo中的扩展不算太新,如果想要更新的,可能要用PyPI或者自己下载源码。而conda和pip关联的很好。使用pip安装的东西可以使用conda来管理,这点要比Canopy好。
这个科学计算环境的另一个要求就是能够多个Python版本并存,尤其是2.x和3.x的并存。这个通过 virtualenv 可以做到。Anaconda也正是通过其实现的。
下面用conda创建一个名叫python3的版本为python3.4的环境。
conda create -n python3 python=3.4
这样就会在Anaconda安装目录下的envs目录下创建python3这个目录。
向其中安装扩展可以:
直接用 conda install 并用 -n 指明安装到的环境,这里自然就是 python3 。
像 virtualenv 那样,先activate,然后在虚拟环境中安装。
spyder就是一个Python的扩展,也是比较好用的,感兴趣的可以自己亲自尝试下,它里面的查看变量的功能还是很方便的。
2015-11-23 22:13:51
python编译环境发掘——从IDLE到sublime到pycharm到Anaconda的更多相关文章
- 2.准备Python编译环境
2.准备Python编译环境 2.1下载Python2.7.6.tgz.ipython1.2.1.tgz.sqlite-autoconf-3071401.tar.gz 2.2安装Python2.7.6 ...
- 【转】ubuntu下安装eclipse以及配置python编译环境
原文网址:http://blog.csdn.net/wangpengwei2/article/details/17580589 一.安装eclipse 1.从http://www.eclipse.or ...
- 使用Code::Blocks配置Python编译环境
1.先在CodeBlock中新建C或C++工程. CodeBlock新建工程步骤:File——New——Project——Console applications——C或C++都可——Project所 ...
- Xcode搭建Python编译环境
* {-webkit-tap-highlight-color: rgba(0,0,0,0);}html {-webkit-text-size-adjust: none;}body {font-fami ...
- Python(一) 快速配置Python编译环境与第一个py文件程序
1. Python基本语法在此不熬述. 2. 到管网下载Python 3.6.x 版本,与本机匹配的版本,如本机是 win7 64 python-3.6.5-amd64 3. 下载IDE:Python ...
- python编译环境安装指南
windows系统先安装python解释器: windows版本exe安装文件下载地址:https://www.python.org/ftp/python/2.7.12/python-2.7.12.m ...
- Sublime Text3 配置Python3编译环境
Sublime Text3 配置Python编译环境 进入Sublime Text3 ,然后选择菜单:工具(T)==>编译系统(U)==>新编译系统... 把上面的代码换成如下代码: &q ...
- sublime text2建成C语言(C++)编译环境
四个步骤: 下载安装Sublime text2 for windows 下载安装 MinGW 与 系统变量设置 Sublime Building System 设置 编译测试 一.下载安装Sublim ...
- Editplus配置Java、Python、C/C++ (基于VS2010) 编译环境
1. 为什么要配置EditPlus使其能够编译运行Java.Python.C/C++等程序? EditPlus是一款轻量级(大约2M)的文本编辑器,实际开发中,只需要关联相应的编译工具就可以化身为一个 ...
随机推荐
- js时间字符串转Date对象
var DATE_REGEXP = new RegExp("(\\d{4})-(\\d{2})-(\\d{2})([T\\s](\\d{2}):(\\d{2}):(\\d{2})(\\.(\ ...
- 设置tomcat启动超时,不会自动停止
tomcat启动时如果1000ms没有起来,服务就会自动停止.设置位置如下
- XML有哪些解析方式有何优缺点?xml有哪些解析技术?区别是什么?
有DOM,SAX,STAX等 (1):DOM:处理大型文件时其性能下降的非常厉害.这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XM ...
- javascript基础学习(九)
javascript之基本包装类型 学习要点: 基本包装类型概述 Boolean类型 Number类型 String类型 一.基本包装类型概述 为了便于操作基本类型值,提供了3种特殊的引用类型:Boo ...
- java——输入流FileInputStream
写一个简单的程序,实现从电脑中的一个盘里的文件中往程序中输入内容. package com.liaojianya.chapter5; import java.io.FileInputStream; i ...
- HTML5 Canvas画数字时钟
先不说废话,没代码算个蛋. 一些地方注释都写得比较清楚,不过这只是部分,因为只有秒针,但是时针,分针的逻辑都是一致的. 代码中有些坐标不知道为什么较不准,看看就好
- 1s延时程序
#include <reg52.h>sbit P1_0 = P1^0;void Delay(); // 下面引用时一定要和这里的大小写一致否则会有警告或错误 void Main(){whi ...
- Python爬虫常用模块,BeautifulSoup笔记
import urllib import urllib.request as request import re from bs4 import * #url = 'http://zh.house.q ...
- Java中间件
传统的HTML已经满足不了如今web系统的诸多的功能需求,建立一个交互式的Web,便诞生了各种Web开发语言,如ASP,JSP,PHP等,这些语言与传统的语言有着密切的联系,如JSP基于Java语言. ...
- JQuery重要知识点
jQuery基本选择器----包括ID选择器,标签选择器,类选择器,通配选择器和组选择器5种 a. ID选择器: $("#id") b. 标签选择器:$("element ...