开发环境是一个文本编辑器和 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. TortoiseGit记住用户名和密码

    1.将项目从服务器Clone下来 2.然后在Repository上右键,打开设置 3.选择凭证 4.为当前Repository创建一个凭证,然后确定退出即可 5.然后再pull下,会直接提示你输入密码 ...

  2. ASP中双引号单引号和&连接符使用技巧

    ASP中双引号单引号和&连接符使用技巧 一.ASP中处在双引号中的可以是任意的字符.字符串,HTML代码 1.<%response.write ("I am here" ...

  3. bootstrap 的 datetimepicker 结束时间大于开始时间

    web的时间js控件,在管理性的项目中频繁用到,总结了一些用到的知识,分享出来,供以后学习: 1.首先引用资源包: bootstrap基础资源包: bootstrap.min.css .bootstr ...

  4. 恢复被误操作删除的数据 fn_dblog

    -- Script Name: Recover_Deleted_Data_Proc -- Script Type : Recovery Procedure  -- Develop By: Muhamm ...

  5. leetcode之Count Complete Tree Nodes

    Given a complete binary tree, count the number of nodes. Definition of a complete binary tree from W ...

  6. js中对闭包的理解

    本人丝一枚,在刚刚过去的javascript学习中,对闭包这个知识真是,听课两分钟,懵逼一整天.今天闲来没事,看了下闭包.话不多说先上代码. <!DOCTYPE html> <htm ...

  7. Wix: Show conditional message box

    For example: Scenario: Show message box only during installation and MYPROPERTY has to be equal to & ...

  8. libjingle线程机制

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

  9. 模板:函数memset

    需要的头文件 <memory.h> or <string.h> memset   函数介绍 void *memset(void *s, int ch, size_t n); 函 ...

  10. javascripct数组

    定义数组 数组对象用来在单独的变量名中存储一系列的值. 我们使用关键词 new 来创建数组对象.下面的代码定义了一个名为 myArray 的数组对象: var myArray=new Array() ...