开发环境是一个文本编辑器和 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. (转)C#创建windows服务

    原文地址:http://blog.itpub.net/23109131/viewspace-688117/ 第一步:创建服务框架 创建一个新的 Windows 服务项目,可以从Visual C# 工程 ...

  2. js中 this篇

    以下文案皆来自<你不知道的JavaScript 上卷>——读书笔记摘要 this 到底是什么? 排除了一些错误理解之后,我们来看看 this 到底是一种什么样的机制. 之前我们说过 thi ...

  3. Filezilla FTP Server 设置帐号主目录文件夹的方法和多个帐号共享一个文件夹的方法

    1.点击用户头像进入 2.共享文件夹 3.添加共享文件夹 4.设置一个主目录 5.右键主目录 如图6设置别名,别名问主目录路径+别名名称 如:主目录[d:\pro\home\] 别名[aliases1 ...

  4. AlwaysOn实现只读路由

    1.配置只读路由 ①配置A副本的只读路由属性(ReadOnly代表‘只读意向’) ALTER AVAILABILITY GROUP [testAG] MODIFY REPLICA ON N'WIN-1 ...

  5. 编码神器之sublime(插件安装)

    一款优秀的编辑器是程序员的左膀右臂,相信每一个程序员手边都有自己熟悉的编辑器. 从一开始使用sublime的时候就开始喜欢上了这款编辑器,被他强大的功能深深的吸引了. sublime的强大来源于他的扩 ...

  6. java学习笔记3

    今天在练习java中的javabean的使用中发现.usebean的 <jsp:setProperty property="id" name="user" ...

  7. 全面认识网络诊断命令功能与参数——netsh diagnostic命令

    netsh diagnostic是网络诊断命令,主要检测网络连接和服务器连接的状态.    注意:netsh不能在Window2000以下系统中使用.案例1:使用netsh diagnostic命令检 ...

  8. Asp.net 定时写入文本记录

    Asp.net 定时写入文本记录 public static string FileAddress = "c:\\TimerLog.txt"; protected void Pag ...

  9. oracle 表空间常用语句

    –查询表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", ...

  10. [jquery]高级篇--标签选择

    1>3中初始化 $(document).ready(function(){ alert("开始了"); }); $(function(){ trace("初始化方法 ...