Python IDE的选择 —— 以智能代码功能为标准
来源:互联网 发布:复合木地板 知乎 编辑:程序博客网 时间:2024/06/05 19:11
大年初二开始学Python,首先得选一个开发环境。由于以前一直用Visual Studio,选IDE的时候首先得看是不是有智能代码(Call-Tips和 Auto-Complete)功能,如果没有的话,对于我这样的新手实在太痛苦了,我可不想去记那些库、包和函数名,最好一点 . 就能全出来。
看了《python IDE 介绍》这篇文章,把里边提到的IDE都下载了试用,最后选择了PythonWin Editor,原因是它的Call-Tips功能比较出众,只要import一个包,然后F5,它的所有函数、变量都可以Call-Tips出来,非常方便。不过PythonWin也有很大的问题,就是不能用来编写wxPython和PyQt的程序,一运行就崩溃。google一下,原因是它的MainLoop与wxPython和PyQt的相互冲突,所以用PythonWin编写GUI,只能用它自己提供的win32ui,有点像MFC的一个东西。
SPE和BOA看介绍说还不错,不过安装后在我机器上总出错,懒得配置它们。
原作者极力推荐的Eric4,试用了一下,发现Call-Tips功能还是比较弱的,必须得先把导入的包用它的工具API Generator生成API,而且只能对包里的类和函数Call-Tips,实例化对象后就不行了。例如import wx,wx.后可以出来变量,但b= wx.Button(……后,b.就什么都没有了。上Eric4的讨论区搜索,开发者也承认这是一个问题,所以还是放弃了Eric4。
eclipse+pydev要带一个JAVA运行时才能跑,在我机器上慢的很,我跑Python的机器内存只有256M,只能用穷人的工具了。
UliPad,一个国产的IDE,本来想支持它,后来发现它的Call-Tips和Auto-Complete功能实在有限,似乎只能对Python内置的包起作用,导入的外部包都不行,所以只好放弃它了。如果以后UliPad增强了这方面的功能,我还是会优先选择它。
WingIDE 的Call-Tips和Auto-Complete功能很强大,比PythonWin还好,不仅能购提示代码,还能在右侧的工具窗里显示doc,不过是商业版的,而且在我的老机上启动也比较慢。WingIDE的101版本是Free的,但恰好比专业版少了Call-Tips和 Auto-Complete功能。
Kodomo也是一个商业版软件,Auto-Complete功能没有WingIDE好,免费版的Kodomo Edit不能调试,也没有Auto-Complete,和WingIDE 101类似。
vim和emacs以前学linux时用过(遥想2002年上大四时,偶还考过TurboLinux的认证管理员,现在证书已经发黄,一直还是在用windows),一直没搞明白命令模式和编辑模式,看来我受MS毒害太深了,暂时不敢用,等以后没办法的时候再说吧。
另外,找了一个不太常见的IDE叫Spyder,它需要导入API才支持Call- Tips功能,和Eric4类似,而且API是和Eric4兼容的,用Eric提供的API Generator可以生成Spyder的API。但Spyder比Eric要轻量的多,安装文件只有1.67 M,调试等功能也不错。Spyder是python(x,y)的一部分,完整的python(x,y)有400多M,集成了科学计算常用的python第三方库,不过它的体积是在是太庞大了,而且我需要的numpy、matplotlib和networks库都单独安装了,其他的库暂时还用不到,所以没有下载。
此外,还下载了Leo、PyScripter等一堆不太出名的Python IDE,不过Call-Tips都不是太理想,水平尚在UliPad之下。
挑来挑去,最后还是选了PythonWin + Spyder。如果要开发GUI,就在PythonWin里编辑代码(为了用它的Call-Tips功能),在Spyder调试运行(PythonWin直接运行会崩溃),这两个软件都可以自动监测源文件变化,用他们打开同一个源代码文件来回切换就可以了,没发现什么冲突。如果不做带GUI的东西,就直接在PythonWin里编辑、运行就可以。
似乎很笨是吧?但我还没找到好的解决方案。除了商业版的WingIDE,真没有一个免费的Python IDE可以提供好的Call-Tips功能吗?
- Python IDE的选择 —— 以智能代码功能为标准
- Python IDE的选择 —— 以智能代码功能为标准
- 看看最标准的代码: 以 strlen 为例
- 环境配置:React Native智能开发工具,可代码提醒的IDE——VS Code
- 以调整复决定系数和AIC为模型选择标准,建立前进法、后退法、逐步回归法的r语言代码
- 初学 Python — Python代码的一些书写标准
- 如何为javascript代码编写注释以支持智能感知
- 如何为javascript代码编写注释以支持智能感知
- [Pycharm介绍]pycharm - 最智能的python IDE -安装篇
- 为PhpStorm添加Laravel 代码智能提示功能
- 有效的使用和设计COM智能指针——条款3:按照功能和实现原理选择合适的智能指针
- 关于python的IDE——Eric4
- 各种Python的IDE(集成开发环境)的选择
- 关于Python IDE选择的一点个人见解
- 【Python】Python的IDE——PyCharm的使用
- C标准库:以字节为单位的IO函数
- C标准库:以串为单位的IO函数
- Python脚本02 —— 删除以@3x.png为后缀的文件
- BST——depth, same,symmetric,path sum
- 通过代理下载Google Code
- 《Linux》天影linux系列笔记一——linux常用命令详解:cp
- 判断一个数是不是回文数
- OpenCV读取AVI文件
- Python IDE的选择 —— 以智能代码功能为标准
- UIView进阶-常用控件(二):UILabel
- request_firmware
- HttpClient : 基本使用整理
- virtualbox开启文件夹共享
- python科学计算之Numpy
- 码农必读书籍
- 《Linux》天影linux系列笔记一——linux常用命令详解:rm
- 学生信息管理系统优化