开发环境是一个文本编辑器和 Python 解释器的组合。文本编辑器用来写代码,解释器提供了一种方法来运行编写的代码。一个文本编辑器可以像 Windows 上的 Notepad 一样简单,或是一个复杂的完整的集成开发环境(IDE),如可以运行在所有主流操作系统的 PyCharm

为什么开发环境这么重要?

Python 代码需要编写,运行和测试,才能构建成应用程序。文本编辑器提供编写代码的方式,解释器来运行。可以手动或单元功能测试看代码是否是你想要的功能,开发调试不同的功能,当然要搭配不同的开发环境。

文本编辑器

  • VIM 大多数 *nix 系统上都默认安装,代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。
  • Emacs *nix 系统上另一个常用的编辑器,拥有可扩展性及可定制性,而且可以煮咖啡(超文本咖啡壶控制协议),具体强大的可移植性,可在文本终端运行也可以在图形用户界面环境下运行。
  • Atom GitHub 团队建立的一个开源代码编辑器,插件丰富,而且使用的 Javascript 语言开发插件降低了插件的开发成本。
  • Sublime Text 2,3版本是流行的文本编辑器,GUI 界面友好,可以完成代码扩展,语法高亮,可以使用插件进行其它功能的扩展,而且是由 Python 写的。
  • Komodo 一个支持多种语言同时跨平台的文本编辑器,支持 Perl、PHP、Python、Ruby、Tcl,以及 JavaScript、CSS、HTML、XML。
  • Ulipad 是基于 wxPython 的文本编辑器,有类浏览器,代码自动完成,易扩展等功能,小巧
  • Eric 专门为 QT 开发而弄出来的 IDE,所以如果做 QT 相关的开发,那 Eric 再合适不过了。

Python 特有 IDE

  • PyCharm 建立在 JetBrains 平台的特定 Python IDE,有学生和开源项目免费版本,支持调试、语法高亮、Project管理、代码跳转等功能,很好的支持 Django 开发。
  • Wing IDE 专为 Python 程序语言设计的集成开发环境,包含文本编辑、调试、项目管理等多功能的开发软件,最大的特色是可以调试 Django 应用。
  • PyDevEclipse 的一个 Python IDE 插件。即 Eclipse 这个 IDE 本身,加上 PyDev 插件,支持用于 Python 开发,PyDev 增加了大量的特性到 Eclipse,远远超出了简单的代码高亮。它支持代码完成,Python 的集成调试,增加了一个象征的浏览器,重构工具,等等。对于那些流行的 Django 的Python Web 框架的工作, PyDev 允许你创建新的 Django 项目,通过热键执行 Django 项目。

开发环境选择

  • 如果你是 Vim/Emacs 狂人,随意
  • 如果你只是使用编辑器,一般只是 Ulipad 加 Vim,轻便小巧强大
  • 如果你用惯了 Java,用 Eclipse+Pydev ,比较厚重适合大型开发,其它一般情况下想用 IDE 的话,推荐PyCharm

参考:

python 编辑器对比和推荐
Full Stack Python

本文由 OneAPM 工程师整理编译,OneAPM 能够帮你查看 Python 应用程序的性能问题。想阅读更多技术文章,请访问 OneAPM 官方技术博客

本文转自 OneAPM 官方博客

Python 全栈开发 -- 开发环境篇的更多相关文章

  1. 【Python全栈-后端开发】嵩天老师-Django

    嵩天老师-Python云端系统开发入门教程(Django) 视频地址:https://www.bilibili.com/video/av19801429 课前知识储备: 一.课程介绍: 分久必合.合久 ...

  2. 【Python全栈-后端开发】Django入门基础

    Django基础知识 一. 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的 ...

  3. 【Python全栈-后端开发】Django进阶2-Form表单

    Django进阶2-Form表单 Django的Form主要具有一下几大功能: 生成HTML标签(可以保留上次输入内容) 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页 ...

  4. 【Python全栈-后端开发】Django进阶之Model操作复习

    Django进阶之Model操作复习 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - ...

  5. 【Python全栈-后端开发】数据库进阶

    数据库进阶 python关于mysql的API---pymysql模块 pymsql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同. 模块安装 pip install ...

  6. 【Python全栈-后端开发】Django进阶1-分页

    Django[进阶篇-1 ]分页 分页 一.Django内置分页 from django.core.paginator import Paginator, EmptyPage, PageNotAnIn ...

  7. 【Python全栈-后端开发】Django入门基础-2

    Django入门基础知识-2 一 .模版 一.模版的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1  变量(使用双大括号来引用变量) {{var_name}} 2  标签(tag)的使用 ...

  8. 【Python全栈-后端开发】MySQL数据库-练习题

    MySQL数据库-练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号 ...

  9. Python全栈之路-----基础篇

    Python诞生 Python是著名的”龟叔“Guido van Rossum(吉多·范罗苏姆)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python语法很多来自C,但又受到 ...

  10. Python全栈之路目录结构

    基础 1.Python全栈之路-----基础篇 2.Python全栈之路---运算符与基本的数据结构 3.Python全栈之路3--set集合--三元运算--深浅拷贝--初识函数 4.Python全栈 ...

随机推荐

  1. HTML5拖拽功能drag

    1.创建拖拽对象 给需要拖拽的元素设置draggable属性,它有三个值: true:元素可以被拖拽:false:元素不能被拖拽:auto: 浏览器自己判断元素是否能被拖拽. 2.处理拖拽事件当我们拖 ...

  2. oracle两种导出导入方式,即imp与impdp之比较

    尽管使用了很多次impexp及impdpexpdp但是使用起来还是会遇到很多问题,现总结如下: 应用:将一个用户的所有表结构及索引,触发器,过程,函数等导入到另一用户里 imp/exp 导出用户表结构 ...

  3. oracle数据库常用操作命令

    查看Oracle的版本: select * from product_component_version; 查看当前用户所具有的权限: SELECT * FROM DBA_SYS_PRIVS WHER ...

  4. Javascript原型钩沉

    写在前面的总结: JS当中创建一个对象有好几种方式,大体上就是以下几种: ①通过var obj ={...} 这种方式一般称为字面量方式,{}直接写需要定义的字段 ②var obj = new Obj ...

  5. Sql 解释

    SQL(Structured Query Language) 结构化查询语言,虽然是查询语言,也是一种编程语言,但是执行查询操作. 根据数据的操作对象,可以将SQL语句分为几类. DDL(Data D ...

  6. 2016/7/6 神·CPU的人类极限在哪?

    额,这其实是个搞怪贴 #include<stdio.h>int main(void){ int i,k; for(i=0;;i++) { k=i+222222222; printf(&qu ...

  7. Wix: Using Patch Creation Properties - Minor Update

    Based on the project created in Wix: Using Patch Creation Properties - Small Update, Following chang ...

  8. 遍历 DataSet

    DataSet ds=new DataSet ; //获取dataset的第一张table,取其他table只须改下标 DataTable dt=ds.tables[]; //遍历行 foreach( ...

  9. 【转】使用DevExpress的WebChartControl控件绘制图表(柱状图、折线图、饼图)

    第一次写博,没什么经验,主要是把最近自己对Dev的一些研究贴出来大家共同探讨,有不足之处望大家帮忙斧正. WebChartControl是DevExpress控件群下的一个Web图表控件,它使用非常的 ...

  10. 客户端获取服务器SessionID (Asp.net SessionID)

    SessionID是客户端首次访问某个方法或页面, 并且这个方法中设置了Session["xxx"]=xx; 此时服务器返回的响应头(HttpResponse.Headers)中会 ...