http://codingdao.com/wp/post/py-must-know-run-dev-env/

Python 初学者必知:Python 运行与开发环境

2011年2月11日

Breaker

原创

发表评论

阅读评论

这是以前刚开始学习 Python 时收集的一些资源,筛选留下一些好的文章和参考,对自己熟练使用 Python 帮助很大,希望也对 Python 的新手和准备入门的人有所帮助。

本篇涉及:

Python 运行环境(Python 解释器 + 发行包附带的库)、

Python 开发环境(编辑器 + 集成开发环境 IDE)的参考、

Python 程序编写注意的基本问题。

其它 Python 资源(如扩展库、第三方库)以后或做成如 C/C++ 开发库 一样的汇总参考页面供自己和他人检索。

前人之述已备,只给出链接,不再转载。(有些文章不错,强烈推荐 Python 新手阅读)

下面罗列自己尝试过的 Python 开发工具。

Python 的版本

目前有两个差别挺大的 Python 分支版本(主要差别在 Python 基本库和面向对象编程上):2.x 和 3.x。实际工作中广泛使用的版本是 2.4、2.5、2.6、2.7,而它们之间也有些许的差别,只不过没有 2.x 和 3.x 之间那么大。对于初学者最好还是使用 2.x 的版本,这样出现问题时的参考,以及扩展库都比较好找,同时可以关注一下 3.x 中的新特性。

这是官方 Wiki 上对 2.x 和 3.x 的一篇比较,为选择哪个版本提供一些指导:Python2orPython3

IBM developerWorks 文章:Python 3 初探,第 1 部分:Python 3 的新特性,英文原文 Python 3 primer, Part 1: What's new,Python 3 primer, Part 2: Advanced topics

Python 的运行环境

罗列常见的 Python 运行环境的发行版:

www.python.org

http://www.python.org/

Python 官方(以 Python 之父 Guido Van 等 Python 核心作者为中心的社区)的发行版。可以下载 Unix 类系统 (Linux, BSD)、Windows、MacOS X 下已编译好的 Python 基本运行环境包。或者下载该 Python 包的 C 源码,自己进行编译。

ActivePython

http://www.activestate.com/activepython

ActivePython 出品的 Python 商业发行版。有两个版本 Business(收费)和 Community(免费)版,免费版的 Python 版本从 2.5 ~ 3.1,支持 Windows/MacOS X/Linux 平台。Business 版含 PyQt、wxPython 两个 GUI 库,Matplotlib、Scipy、Numpy 等数学计算库,M2Crypto 加密库,mysql-python (MySQL)、psycopg2 (PostgreSQL)、cx_Oracle (Oracle)、pyodbc (ODBC)、pymssql (MS SQL Server) 等 Python 数据库接口,但 Business 版对个人来说太贵了,适合企业开发使用。这是 Business 版和 Community 版的对比。

Cygwin Python

http://www.cygwin.com/

Cygwin 环境下也有 Python 安装包,用 Cygwin 的安装程序 setup.exe 搜索 Python 并下载安装。Cygwin 的 Python 包是采用 Python 官方源码的 Cygwin 环境编译版,与官方的 Python Windows 版的区别是:Python Windows 采用 VC 编译,而 Python Cygwin 采用 Cygwin GCC 编译。可以在 Python 的 sys.version 中看出 Python 基本运行包(解释器 + 附带库)所采用的编译环境。

Python(x,y)

http://www.pythonxy.com

http://code.google.com/p/pythonxy/

http://code.google.com/p/pythonxy-linux/

这也是一个开源的 Python 发行版。Python(x,y) 中包含很多除了 Python 官方版中附带库(Python 基本库:Python Standard Library)之外的库,如 Scipy、PyQt。

Python(x,y) 的目标是科学计算、工程开发、数值计算和数据分析,含 GUI 库 PyQt,和 Eclipse Python 集成开发环境 Pydev,以及 Spyder:Python 科学计算开发环境,提供类似 Matlab 的功能,含 IPython。

Python 扩展库、第三方库的安装,对于新手来说是个问题,因为有时要依靠 distutils 工具现编译扩展库的 C/C++ 源码,对于依赖情况复杂的库来说,会出现各种编译和运行问题。所以对于 Python 初学者来说一个大而全的 Python 发行版,省却了很多琐碎的扩展库安装步骤,是一个聪明的选择,不过代价就是 Python(x,y) 的安装包和其它发行版相比太大了(400 MB 以上)。

其它语言实现的 Python

除了传统的 CPython 外(Python 的解释器和基本库用 C 语言实现),还有:

Java 实现的 Python 运行环境:Jython。

.Net/Mono 实现的 Python 运行环境:IronPython,IronPython 的 CodePlex 代码托管主页。IronPython 受到微软的支持,可以和 .Net Framework 很好的配合(Python 和 .Net 程序的互操作),并可以使用 Visual Studio 2010 集成环境开发 IronPython 程序。

Python 的开发环境

IDLE

IDLE 本身就是基于 Tkinter 的 Python 程序,Python 官方发行版中附带。

IPython

http://ipython.scipy.org/moin/

严格的说 IPython 不是开发编辑工具,而是对 Python 交互式解释器 (python shell) 的增强,其本身也是 Python 程序。Python 有一种很赞的用法,就是在 python shell 下进行交互式编程,即输入语句立即所见结果。IDLE 和 PythonWin 也都有交互 shell 功能,但都没有 IPython 那么强大。强力推荐初学者用 IPython,用来临时调测代码相当方便。

IPython 具有自动补全功能,例如:当敲入 os. 后,再敲 Tab 会列出 os 模块下所有的成员供你选择。如果在 Windows 下发现 IPython 没有这个自动补全功能,可能是因为 Python 运行环境中缺少 PyReadline 库,因为 IPython 的自动补全和彩色字体功能依赖 PyReadline 库,请先安装这个库。

IPython 增强 python shell 的交互功能:自动补全

IPython 属于 SciPy 项目。NumPy, IPython => SciPy => Spyder => Python(x,y) 是这些东西的发展路线,其中的一个目标就是想基于 Python 语言打造一个数学计算平台,如 Matlab。

Winpdb

http://winpdb.org/

这是一个 Python 程序调试工具,本身也是 Python 程序,有 GUI 界面(基于 wxPython),也包含命令行版的调试工具 rpdb2.py。断点、单步、变量、堆栈、线程查看 等功能,一应俱全。也可拿来当 IDE 编辑工具。

PythonWin

http://sourceforge.net/projects/pywin32/

PythonWin 维护者 Mark Hammond 的 PythonWin 主页

PythonWin 包括一个 Windows 下的 Python 集成开发环境 pythonwin.exe(有自动补全、语法检查 和 调试功能),以及很多 Windows API (C/C++) 的 Python 接口(库),包括:Windows API、COM/OLE 功能、MFC 等。详细的 Windows API Python 参考 PythonWin 安装后的 CHM 帮助文件。

PythonWin 的安装过程是要注册模块的,由安装后期的 postinstall script 完成,而这个过程需要 %PATH% 目录下能够找到 python[ver].dll([ver] 为 Python 版本号),否则 PythonWin 的安装不算完全成功,并在运行 pythonwin.exe 时会提示 "The application can not locate win32ui.pyd (or Python) (126)"。当 postinstall script 成功时,会提示下面安装、注册信息:

Copied pythoncom26.dll to C:\WINDOWS\system32\pythoncom26.dll

Copied pywintypes26.dll to C:\WINDOWS\system32\pywintypes26.dll

Registered: Python.Interpreter

Registered: Python.Dictionary

Registered: Python

-> Software\Python\PythonCore\2.6\Help[None]=None

-> Software\Python\PythonCore\2.6\Help\Pythonwin Reference[None]='D:\\Python26\\Lib\\site-packages\\PyWin32.chm'

Pythonwin has been registered in context menu

Creating directory D:\Python26\Lib\site-packages\win32com\gen_py

Shortcut for Pythonwin created

Shortcut to documentation created

The pywin32 extensions were successfully installed.

Komodo

http://www.activestate.com/komodo-ide

ActivePython 出品的商业集成开发环境,支持 Python、PHP、Ruby、JavaScript、Perl、HTML、CSS 等语言,有两个版本 Komodo IDE(收费)和 Komodo Edit(免费),支持 Windows/MacOS/Linux 平台。Komodo 的一个目标是 Web 程序开发。

Eclipse: Pydev

http://pydev.org/

Pydev 是 Eclipse 的 Python IDE 插件,如同 CDT 是 Eclipse 的 C/C++ IDE 插件一样。

Pydev 是 Aptana 的一个开源项目,Aptana Studio 是 Eclipse 演化的 IDE,如同 MyEclipse 一样。Aptana Studio 支持 Ruby、PHP、Python、JavaScript、CSS、HTML 等语言,定位和 Komodo 类似,是 Web 程序开发 IDE。所以下载使用 Aptana Studio 也就是使用 Pydev。

Pydev 的自动补全、高亮语法显示、语法检查 和 调试功能都不错,缺点是 Eclipse 集成环境运行很慢。

Pydev 的使用问题

刚安装好 Pydev 后,新建 Python 源文件时,有时不会按照模板 (Pydev->Editor->Templates) 中的代码进行新建,而是新建一个空文件,并且对 Python 代码不进行高亮语法显示,这是因为代码模板和语法高亮仅对 Eclipse 的 Pydev 编辑环境起作用,这时需要在 General->Editors->File Associations 中将 *.py、*.python、*.pyw 文件类型关联到用 Python Editor 默认打开,此后新建 Python 源文件时就会按照模板生成代码,并有语法高亮。

使用 Python Editor 作为 Eclipse 中 Python 源文件的默认编辑器

Python 运行、开发环境 和 编程基本知识 参考文章

IBM developerWorks 的 Python 技术专题 中有个 可爱的 Python 系列,其中有两篇文章介绍 Python IDE:点评 Python IDE,Python IDE 测评。不过感觉文章介绍的 Python 开发工具不算是很优秀的,行文风格也不习惯。

Python IDE 比较与推荐:各种 Python 开发环境的横向比较,比我这里的全。(建议初学者了解)

Python 二三事:讲述 Python 开发工具的使用,和一些必需的 Python 编程知识,强烈建议 Python 初学者阅读,如:用 Vim 作为 Python 开发工具、字符集编码与 Unicode 问题、setuptools 安装扩展库等。文章有前后两篇:Python 二三事,Python 二三事 续。后来作者对这两篇做了个合并,放在:Python 二三事。该文作者 jagttt 是个 Orz 的人,不信请翻开关于页面看看他的自我介绍。

Get Going with Python 2: Python Development Environments (IDEs) part 2:含 Pydev 的配置和使用技巧 教学视频。

转载或改编时,请务必以链接形式注明文章 原始出处、作者信息 和 著作声明:

文章标题:Python 初学者必知:Python 运行与开发环境

原文作者:Breaker

著作声明:原创 分类文章,采用 知识共享(CC) 署名-非商业性使用-相同方式共享 (by-nc-sa) 2.5 中国大陆 许可协议

文章地址:http://codingdao.com/wp/post/py-must-know-run-dev-env/

python开发环境和运行环境的区别_Python 初学者必知:Python 运行与开发环境相关推荐

  1. python中单引号和双引号的区别_python中单引号和双引号的区别

    在Python当中表达字符串既可以使用单引号,也可以使用双引号,那两者有什么区别吗? python单引号和双引号的区别 简单来说,在Python中使用单引号或双引号是没有区别的,都可以用来表示一个字符 ...

  2. 初学者必知的Python中优雅的用法

    初学者必知的Python中优雅的用法:http://python.jobbole.com/81393/

  3. APP从业者必知的整个APP开发标准流程

    SourceFrom:http://www.chinaz.com/design/2015/1116/470908.shtml 众所周知,整个移动app设计和开发都是一项庞大的工程.想要开发一个相对较优 ...

  4. python中协程与函数的区别_python 协程与go协程的区别

    进程.线程和协程 进程的定义: 进程,是计算机中已运行程序的实体.程序本身只是指令.数据及其组织形式的描述,进程才是程序的真正运行实例. 线程的定义: 操作系统能够进行运算调度的最小单位.它被包含在进 ...

  5. python中的return和print的区别_python中return和print的区别(详细)

    Huskiesir python最近正在研究.今天,我面临一个问题,那就是,返回和印刷的区别.双方都能输出结果.的区别是什么?闲话少说,看下面的例子.# Code1: def break_words( ...

  6. python是什么和c++是什么区别_编程c++和python的区别

    展开全部 论坛 活动 招聘 专题 打开2113CSDN APP Copyright © 1999-2020, CSDN.NET, All Rights Reserved 登录 一颗日成 关注 浅谈52 ...

  7. python实例方法、类方法、静态方法的区别_Python 实例方法、类方法、静态方法的区别与作用...

    Python 实例方法.类方法.静态方法的区别与作用 一.总结 一句话总结: 实例方法:第一个参数必须是实例对象,该参数名一般约定为"self",通过它来传递实例的属性和方法(也可 ...

  8. python是什么语言编写的程序称为_Python 学习(一)【Python语言简介-Python是什么】...

    Python是一种编程语言,它的名字来源于一个喜剧.也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用. Python是什么(转载自Primus) 著名的 ...

  9. python初学者怎么学习_Python初学者怎么入门 Python的学习方法有什么?

    Python非常适合那些没有任何基础的同学.在入门阶段,可以自己看一些Python相关的书,或者看视频教程,这是初学者有效的学习方法,再结合实操,就能入门了.Python没有指针变量类型这样的复杂概念 ...

最新文章

  1. 【最强ResNet改进系列】IResNet:涨点不涨计算量,可训练网络超过3000层!
  2. 这些常识一直在损害健康
  3. javase 超市库存系统
  4. 使用wxSqlite3来解决sqlite加密问题zz
  5. linux怎么开机默认进入桌面图标,如何让ubuntu开机默认进入命令行啊?
  6. 安卓投屏软件_有哪些好用又免费的手机投屏到电脑的软件?
  7. linux ipset 流量,linux中ipset命令的使用方法详解
  8. Poj 1077 eight(BFS+全序列Hash解八数码问题)
  9. 深度学习之OCR相关经验记录
  10. GDI GDI+ 的区别
  11. OpenCore引导配置说明第十五版-基于OpenCore-0.6.8-04-06正式版
  12. 商业插画师走尺印象:只为做生活的设计师
  13. python股票回测源码_Python爬虫回测股票的实例讲解
  14. 《自控力》直面自身欲望,但不要付诸行动
  15. 自媒体短视频快速吸引粉丝的诀窍
  16. 全国大学生软件测试大赛Web应用大赛常用测试语句
  17. Win8下装XP双系统
  18. mysql columns表_MySQL--INFORMATION_SCHEMA COLUMNS表
  19. Android APP打包发布
  20. H5网页语音实时播报功能的实现

热门文章

  1. Go语言之进阶篇爬捧腹网
  2. 新生研讨课后感想——
  3. unity热更- 2 游戏大版本更新和热更新
  4. linux内核netfilter,linux内核netfilter实现url重定向
  5. 杂项-镜像:镜像(一种文件类型)
  6. MapInfo点符号的制作方法
  7. 系统经常假死该如何解决
  8. 注册会计师如何复习?(考过的人经验分享)
  9. 大数据的误区——何为真正的大数据
  10. loki使用超详细说明