开发环境是一个文本编辑器和 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. Cordova+angularjs+ionic+vs2015开发(二)

    欢迎加群学习:457351423 这里有4000多部学习视频,涵盖各种技术,有需要的欢迎进群学习! 一.创建空白Cordova应用 打开VS,选择[新建项目],选择其它语言JavaScript或者Ty ...

  2. 使用SQLdiag Utility搜集SQL Server诊断信息

    SQLdiag Utility用于搜集诊断信息,给Microsoft技术支持人员做为判断依据. 使用SQLdiag 会进行信息搜集类型 Windows 系统性能日志 Windows 系统日志 SQL ...

  3. C# 数据类型映射 (SQLite,MySQL,MSSQL,Oracle)

    一.C# vs SQLite: C# SQLite 字段名 类型 库类型 GetFieldType(#) 转换 备注 F_BOOL bool BIT NOT NULL Boolean F_BOOL_N ...

  4. [翻译]AOP编程

    翻译文章链接http://www.codeproject.com/Articles/1080517/Aspect-Oriented-Programming-using-Interceptors-wit ...

  5. IO流05_OutputStream和Writer输出流

    [输出流中的字节流和字符流] [OutPutStream和Writer] [ OutputStream和Writer中包含的方法 ] void write(int c)       将指定的字节/字符 ...

  6. libjingle线程机制

    libjingle包装了所有的线程,包括signaling thread,worker thread, 和其它任何线程,用talk_base::Thread来包装.所有的 Thread对象由Threa ...

  7. CheckedListBox与下拉框联动代码

    private void yewubind(string id) { //给业务类型下拉框绑定业务类型数据 DataTable dtyewu = sb.SelectLast(id, 0); bool ...

  8. “微信应用号对行业影响”之一,app开发速来围观

    昨天,微信张小龙的一个讲话刷爆朋友圈,除了4大价值观,最后顺便提到:要推出微信应用号! 其实,价值观也就说说听听,最后顺便提到的微信应用号,才是真正的巨型炸弹. 腾讯挟6亿高粘度用户之重,号令天下,阿 ...

  9. 使用CSS完成元素居中的七种方法

    在网页布局中元素水平居中比元素垂直居中要简单不少,同时实现水平居中和垂直居中往往是最难的.现在是响应式设计的时代,我们很难确切的知道元素的准确高度和宽度,所以一些方案不大适用.据我所知, 在CSS中至 ...

  10. JavaScript自定义方法实现trim()、Ltrim()、Rtrim()

    去除字符串两端的空格,是字符串处理非常常用的方法如何trim() .Ltrim() .Rtrim(),可惜的是javascript中无此方法,下面有个不错的自定义教程感兴趣的朋友可以参考下 去除字符串 ...