开发环境是一个文本编辑器和 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. 在 Ubuntu 16.04 中安装谷歌 Chrome 浏览器

    进入 Ubuntu 16.04 桌面,按下 Ctrl + Alt + t 键盘组合键,启动终端. 也可以按下 Win 键(或叫 Super 键),在 Dash 的搜索框中输入 terminal 或&q ...

  2. windows7 图形界面远程 centos6.5

    一.首先确定centos已经安装了gnome,因为centos自身没有图形界面,别说远程图形界面方式访问了,就本地图像界面方式都不行 1.首先查看系统的运行级别以及是否安装了桌面环境    1.使用命 ...

  3. 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2

    本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...

  4. Java 简单算法--打印回文数字

    package cn.magicdu.algorithm; public class CircleNumber { public static void main(String[] args) { f ...

  5. golang mongodb (mgo)插入或读取文档的字段值为空(nil)问题解决

    问题描述 当使用mgo操作mongodb时,遇到数据插入正常,但是在数据库查看时只能看到objectid被插入了:读取的时候,可以查询到记录,但是读入对象时,却所有的值均为0或者空的情况. mongo ...

  6. xadmin学习笔记(二)——改造Django教程实例(1)

    前言 xadmin是基于Python和Django的管理框架,想要能够熟练使用,学习Django是必须的.在学习Django的过程中,不妨用xadmin来验证下新的效果是怎样的.本文就是在学习Djan ...

  7. 编写delegate(明天补充)

    delegate基本上是一种callback机制,让别的类在

  8. 移动前端开发之viewport的深入理解(转载)

    本文为转载文章,原文网址:http://www.cnblogs.com/2050/p/3877280.html 在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有 ...

  9. sgu 108 Self-numbers II

    这道题难在 hash 上, 求出答案很简单, 关键是我们如何标记, 由于 某个数变换后最多比原数多63 所以我们只需开一个63的bool数组就可以了! 同时注意一下, 可能会有相同的询问. 我为了防止 ...

  10. hggroup和adress

    hggroup通常放在标签内部,不过不做强制要求! ​adress 通常用于作者的联系信息.比如名字,Email,电话,地址.标签内字体显示斜体. ​ 与 标签的比较:比div简洁,更少的用到id或c ...