⑴ 如何开始使用PyCharm,并拥有一个高效的Python IDE
初步使用当您第一次启动PyCharm的时候,他会问你要使用的键盘布局和主题。我不喜欢它的Emacs键盘映射,所以我用的是默认的Mac OS X键盘映射并且自定义了我想要的快捷方式:如果这是你第一次使用PyCharm,并没有什么配置可以导入的。你可能会想在欢迎屏幕中点击“配置”,设置一些基本的配置:我喜欢显示出行号和方法分隔符(Editor→Appearance→Show method separators, Show line numbers):另外,我喜欢Solarized主题。我遵循指示安装了它,并选择它作为编辑器的默认主题→颜色和字体。 浅色版的Solarized IntelliJ有一些奇怪的颜色选择(例如,它采用灰色为默认的文本,而不是更清晰的黑色),所以我在编辑器上进行了修改→Colors & Fonts→General。我的建议是不要害怕修改颜色为你自己喜欢的。你可以导出你的配置,以防你需要重新安装PyCharm。相比于别的一些IDE,我觉得PyCharm在视觉上的效果上非常干净,如果你想要一个更简洁的用户界面,您可以隐藏工具栏,工具按钮,导航栏和状态栏(在视图菜单上):Virtualenv和Python解释器您可以创建新的项目文件→File→New Project or open an existing project withFile→Open Directory。 PyCharm支持多种类型的Python项目,如Django,Flask等等。在这里,我将创建一个简单的项目,以测试pyquery库(我会选择“Empty project”)。你需要告诉PyCharm你想用哪个Python解释器,因为它可以使用不同的解释器对于不同的项目。它将利用这些信息来索引的所有可用的库。一个好的做法是对于每个项目建立一个virtualenv。您可以使用一个已经存在的virtualenv或从PyCharm创建一个新的(Settings→Project Interpreter→Python Interpreters)。对于这个项目,我将创建一个新的virtualenv并使其用于所有的项目:您可以快速搜索,阅读说明,并从PyCharm安装软件包。没有什么是你在在终端上不能做的,但它能够使你无需离开IDE,更加方便地够搜索包。一些软件包可能需要安装一段时间,特别是如果他们需要进行编译。 PyCharm运行安装过程是在后台,你可以通过单击状态栏看到正在发生的事情:正如我们所看到的,它不仅安装pyquery报,所依赖的包,如lxml也一并安装(正如我们所期望的):快捷键PyCharm是没有Vim的,但你也可以只靠键盘做很多事情。您可以将快捷方式设置到几十个(如果不是数百个)快捷动作在Settings→Keymap。我修改了相当多的默认键盘映射,因为我喜欢有像Control-a, Control-e, Control-k,and Control-y那样的快捷键,而这几个快捷键在默认情况下多用于文本框,并没有设置默认在“Mac OS X”的键盘映射。您还可以定义鼠标快捷键。举例来说,我使用Option-Click来改变快速文档。如果你是一个Vim的用户,您可能希望尝试一下IdeaVim,一个Vim的仿真器插件。我听说过这个好东西,但我没有机会去尝试它。我用的是Dvorak keyboard layout,但烦人的是,一但用到不对的快捷键就会有bug。有人反映了这个问题,French Canadian and German layouts也有这个问题。这意味着我必须重新绑定不少的快捷方式来避免这个问题。PyCharm使用功能键,如F1和F2等很多。正如你可能知道的,在Mac上,顶部的按键多作为默认“多媒体”键,并通过按下Fn键的来生效。我们可以在System Preferences→Keyboard交换这种方式。我希望能够控制音量和改变亮度,而不需要使用Fn键,但我也喜欢使用功能键,而无需触碰较远的Fn键(我很懒惰,我能说什么?)。我用Palua在“多媒体”和功能键之间切换。你可以用全局键切换,也可以配置Palua在使用特定应用程序时,自动切换。我为所有应用程序使用多媒体键的(默认值),并配置Palua为Xcode和PyCharm使用功能键。外部编辑器PyCharm可以启动任何外部工具,所以我将其配置用Emacs来打开当前文件。当你想要利用你喜欢的编辑器(Emacs,Vim,TextMate等等)做一些快速编辑,这非常有用。进入Settings→External Tools,确保“Open console”未选中,将路径插入程序,参数(在这种情况下,我们可以用FilePath来得到完整的文件名)和工作目录(ProjectFileDir/ FileRelativeDir /)。你可以把它分配给一个快捷方式:现在它可以从菜单栏获得。运行代码和REPLPyCharm有很多方式来让我们运行代码。我们可以用古老的print 函数(或声明语句,这取决于你的Python版本),在REPL导入代码,发送代码到控制台,使用调试器,或在终端上使用IPython。打印输出使用打印来显示值是一个有用的并被广泛使用的技术,但是如果不小心使用的话,它可能会导致混乱的代码。如果该文件已被选中运行,我们可以通过单击“play”按钮或Control-R来开始。如果没有选择文件来运行,会从上下文菜单中选择一个文件,用Control-Option-R或右击来运行她。 PyCharm会记住你的选择,下一次你可以继续使用Control-R。这听起来很复杂,但它其实非常简单。检查手册,以便了解更多的信息。控制台和REPL我最喜欢的方法是在REPL运行代码。您可以在PyCharm的工具栏中打开一个Python控制台,Tools→Run Python Console(我已经分配到Control-C)。它会使用IPython(如果可用)(我建议你在virtualenv内安装IPython),并将当前文件的路径添加到Python的路径。在控制台上,你可以像往常一样导入你要来执行的功能。在控制台中补全功能仍然可用:我们可以像平时一样正常使用已经导入的函数,并且可以利用⌘–4轻松切换控制台的可视性。在控制台执行所选择的代码如果我想运行的代码是多了几个单行,并没有编写正式的单元测试(例如,可能我玩的是数据)我可以将它保存在一个临时文件。我们可以选择我们想要运行的代码(通常我只需要利用⌘-A选择整个文件),并选择从上下文菜单中选择“Execute Selection in Console”(或者,更好的方式,使用键盘快捷键)。 [我省略了一些菜单项中的截图以使文章短一些。在下面的例子中,标题变量在控制台中可用,因为我们在控制台中选择整个临时文件来执行:宏如果我们可以在一个操作中发送整个文件到控制台,那就太好了。幸运的是,我们可以记录一个宏。选择Select Edit→Macros→Start Macro Recording and performthe operations as before(选择整个文件,发送到控制台,切换到控制台)。正如你所看到的,我的宏只有四个动作(我按向下箭头键取消选择):当您录制的宏已经在宏菜单,你可以分配给它快捷方式(我使用Control-C Control-E,但由于某些原因PyCharm只显示两个快捷方式的一半)。调试很多人喜欢使用调试器来检查数据。即使我喜欢使用REPL,有时调试程序更有效,在检验复杂的对象时尤其如此。 PyCharm不允许你在一个空行设置一个断点,因此,在这短短的例子,我不得不添加一个额外的行(我使用print函数,但我本可以使用pass),因为我想要调试停止在设置的headlines变量后。在真正的代码中,很少有这个必要。IPyhton最后,利用IPython来运行外部终端并使用一些功能,比如%run和自动重载没有任何不妥。搜寻命令这很容易变得不知所措,因为有这么多的命令。如果您在Mac上使用PyCharm,你可以像往常一样使用Help→Search,或者您可以在任何平台上使用Help→Find Action。它可以让你搜索任何PyCharm命令,包括不能从菜单中获得的。 (Emacs的使用者会注意到这有点类似于Emacs的M-X)。这是非常有用和强大的功能,我一直使用它。代码补全代码补全功能在PyCharm上是一流的。默认情况下PyCharm会在你输入的时候给出建议:由于此功能可有点耗电,你可以通过选择File→Power Save Mode来禁用它。您仍然可以通过Control-Space显式使用这一功能。在输入的时候,您可以通过键入一个子串来缩小建议列表:或者,您可以键入CammelCaseClasses或function_names_with_underscores的第一个字母:如果您键入Ctrl-Space一次,PyCharm将尝试列出最相关的项目:如果你再次键入Control-Space,将列出它所知道的每一个名字。这可能是压倒性的,但要注意,它列出了没有导入的文件 bar.py中的函数name_of_mother。但往往你只是想补全在打开的缓冲区中的一个局部变量的名称。很久以前可以在Emacs和Vim实现这一功能,二现在也可以在PyCharm上实现。手册将其称为Hippie Completion,但实际的命令名称(即,你会发现在Find Action的那个名字)是“Cyclic Expand word”,并且在我的测试中,它甚至对文档字符串有效。代码补全可能无法在某些情况下工作,比如当一个库没有类型提示。这个StackOverflow页面建议在PDB中设置断点并用dir列出所有可能的属性。一个类似的解决方案是在PyCharm创建断点,并执行一条表达式——通过在调试工具栏点击最后一个图标(或使用适当的键盘快捷键)。在这种情况下,我计算的表达式是“dir(r)”。访问文档PyCharm有三种方式可以访问文档:快速定义,快速文档,外部文档,以及参数信息。您可以从查看菜单或者从各自的快捷方式去访问它们。快速定义将显示整个定义的符号(类,方法,功能等)的(废话!),当然也包括文档。如果你只是想快速浏览一下的定义,而跳跃到它是很有用的。快速文档将显示符号的文档和签名。最后,外部文档,以及参数信息是非常简单的。第一个在默认浏览器中打开文档,第二个给出了一个函数或方法(例如快速查询关键字参数的名称是很有用)参数信息。外部文档工作外适用于Python(当然),PyQt4,PySide,GTK,WX,numpy,SciPy,和kivy,并且您可以为外部文档添加路径,在Settings→Python External Documentation中设置。代码质量当你在打字的时候,PyCharm会检查你的代码是否符合PEP8。它会让你知道,你是否有太多的空格或空行等等。如果你愿意,你可以配置PyCharm运行pylint作为外部工具。在源代码找到自己的方式当你掌握了它的导航命令时,PyCharm开始变得强大起来。它可以跳转到类,函数等等。在Mac上你可以利用⌘-B或者⌘-Click跳转到类,方法,函数,变量的定义,同样在Windows和linux上使用 或Ctrl-B或者Ctrl-Click。导航到类,文件或符号的机制几乎是一样的。在你输入一个字符串的时候,你将看到一个对话框,包括你当前项目以外的项目,同市匹配过滤的结果。转至导航菜单或使用相应的键盘快捷键:这是一个类定义典型的对话框:你可以输入名称的一部分,包括文件扩展名。举例来说,如果你想打开Django项目的一个JavaScript文件是,但又不记得它的名字,你可以搜索“.js”。这些功能使我们能够非常快速地浏览源代码。假设我们正在研究Django的源代码,我们希望看到的是功能实现的过程。我们不知道它的定义,所以我们去Navigate→Symbo(⌥-⌘-O),输入“render”,并选择第一个选项(我们可以看到它在django.shortcuts定义)。如果我们隐藏了导航栏,我们可以使用Navigate→Jump到导航栏(⌘-↑),快速显示它并查看该文件定位(django→django→shortcuts.py):有时在去掉你并不感兴趣的那部分东西之后,代码补全的效率会更高。在下面的例子中,我删除相关的JavaScript的结果,得到了一个更加简洁的列表:PyCharm可以让你折叠块,如类,方法和函数,但你可以创建自己的可折叠的区域。当涉及到成组的一些东西时,就很有用(类,方法,函数等)。这些模块可以折叠的话,会使我们能够专注于代码的特定区域。你可以通过Navigate→Custom Region或使用相应的键盘快捷键来显示列表文件中的所有区域。遗憾的是有没有办法在一个工程中列出所有区域。单元测试在我们可以运行测试文件之前,我们需要添加一个新的运行/调试配置。我们去Run→Edit Configurations,然后点击在左上角的加号按钮。然后,我们选择“Python tests”,开始测试。在这个例子中,我将使用单元测试:最后,我们需要添加这些测试的文件夹,并选择正确的Python解释器:现在就像我们运行代码一样,我们可以运行我们的测试:通过点击工具栏或者选择Run→Run(Control-⌥-R)。这将打开一个对话框,你可以在对话框中选择你想要运行的代码(你可以运行别的)。您可以进行所有测试或仅测试光标。当你运行测试是,PyCharm会记住你最后的选择,这样你就可以利用Control-R来重复测试。这非常有用,如果你解决了一个特定的测试情况,并希望多次运行它,但不运行其他测试。你并不需要定位到你想要运行的测试文件;你可以从任意文件中运行测试。您可以通过选择Navigate→Test(或相应的热键)完成代码的测试。处理多个文件正如你看到的那样,PyCharm为每一个文件使用一个标签要切换到标签,我们可以使用命令选择下一个标签或者选择上一个标签。默认快捷键是Control-→ 和Control-←,但OS X使用这些按键,让我重新绑定它们至Control-⌘-N和Control-⌘-P(在终端我使用同样的快捷方式切换标签页)。一个更直接的方法选定标签就是使用Navigate→File,或者View→Recent Files(⌘-E)和View→Recently Changed Files(⇧-⌘-E)。最后两个命令将显示文件,你可以通过输入子串来缩小选择范围。在下面的例子中,我只需要输入“⌘-E”,“S”,“ENTER”键进入scratch.py文件的标签:多窗口PyCharm支持多窗口,虽然不如Emacs中那么优秀,但也足够用了。在默认情况下没有已分配的快捷方式来处理分割窗口,所以你必须自己做。这些是我用的快捷键:垂直分割,Control-S水平分割,Control-H非剖分,Control-C Control-U非剖分所有,Control-C Control-A转到下一个分离器,Control -C Control -N转到上一页分离器,Control -C Control -P移动到相对组,Control -C Control –M再有两个窗格的情况下拖动标签比较方便。
⑵ vs code 怎么写python
vs code版本:.6.11.安装vs code 2.安装python2.7,记得把add-path的勾打上,如果忘记也没有关系,去系统环境变量,“Path”下增加“C:\Python\Python27\”和“C:\Python\Python27\Scripts”。3.安装Python插件,Ctrl+Shift+X进入插件列表,搜索python,可以装Don Jayamanne那个。4.配置Python, 依次点击“文件->首选项->用户设置”,出现"default.setting" 和"setting.json"。当setting.json设置了与默认设置相同的内容则覆盖。接下来复制出"python.pythonPath": "python"到setting,修改路径,“C:/Python/Python27/python”。现在按F5,选择python,会出现一个launch.json,默认保存就行,pythonpath会从setting.json取。再按F5,应该可以调试了。 创建一个py,按ctrl+shift+b运行,选择最后一个others,会自动生成一个task.json,改成下面这样。{"version": "0.1.0","command": "C:/Python/Python27/python","isShellCommand": true,"args": ["${file}"],"showOutput": "always"}ctrl+shift+b可以运行程序了。5.关于环境变量。第二步添加了环境变量,其实添加了环境变量之后,后面setting.json的path使用默认便可,task.json的“command”路径可直接设为“python”。6.关于工作空间。在vs code打开下的文件夹里面有个".vscode",作为该工作路径下的配置文件。7.使用pip装个Pylint检查语法。
⑶ 如何用sublime text编辑python
Package Control 在 Sublime 里直接安装附加插件的包管理器。这是唯一一个你必须手动安装的插件。这边列出的其他所有插件都可以通过 Package Control 来安装。也可以通过它来更新已安装过的插件。简单得想做是 Sublime packages 的 apt-get 就行了。 Color Scheme – Tomorrow Night Color schemes 决定了编辑器界面语法高亮的字体颜色。这是一个非常酷的暗黑系样式。 Theme – Soda Dark Themes 影响 Sublime 界面元素的颜色和风格。这个非常适合 Tomorrow Night 的配色方案。 SideBarEnhancements 这个插件提供了侧边栏附加的上下文菜单选项,例如"New file","New Floder"等。这些本应当默认就该有的,却没有。 All Autocomplete Sublime 默认的自动完成只关注当前文件的单词。这个插件扩展了其自动完成的单词列表到所有打开的文件。 SublimeCodeIntel 为部分语言增强自动完成功能,包括了 Python 。这个插件同时也可以让你跳转到符号定义的地方,通过按住 alt 并点击符号。非常方便。 SublimeREPL 允许你在编辑界面直接运行 Python 解释器。我倾向于在单独的终端窗口用 bpython 来运行,但有时 SublimeREPL 是很有帮助的。 GitGutter 在编辑器的凹槽区,依照 Git ,增加小图标来标识一行是否被插入、修改或删除。在 GitGutter 的 readme 中有说明如何更改颜色图标来更新你的配色方案文件。 Pylinter 这个插件提供了目前我所见到的最好的 pylint 编辑器整合。它自动检查 .py 文件,无论其何时被保存,并且会直接在编辑界面显示 pylint 违规。它还有一个快捷方式来禁用局部的 pylint 检查,通过插入一个 #pylint: 禁用注释。这个插件对于我确实非常有用。 加壹翻译于 2年前2人顶顶 翻译的不错哦!配置文件Sublime Text 的一个优点就是它的所有配置都是简单的基于 JSON 的配置文件。这使得你可以很容易的将配置转到另一个系统中。我也见过一些人使用 Dropbox 自动同步他们所有电脑上的配置。Preferences.sublime-settings 配置了 Sublimede 的显示和行为.你可以在sublime 中通过 Preferences > Settings — User 打开并编辑此文件。我使用如下配置:{ // Colors "color_scheme": "Packages/Tomorrow Color Schemes/Tomorrow-Night.tmTheme", "theme": "Soda Dark.sublime-theme", // Font "font_face": "Ubuntu Mono", "font_size": 16.0, "font_options": ["subpixel_antialias", "no_bold"], "line_padding_bottom": 0, "line_padding_top": 0, // Cursor style – no blinking and slightly wider than default "caret_style": "solid", "wide_caret": true, // Editor view look-and-feel "draw_white_space": "all", "fold_buttons": false, "highlight_line": true, "auto_complete": false, "show_minimap": false, // Editor behavior "scroll_past_end": false, "highlight_modified_tabs": true, "find_selected_text": true, // Word wrapping – follow PEP 8 recommendations "rulers": [ 72, 79 ], "word_wrap": true, "wrap_width": 80, // Whitespace – no tabs, trimming, end files with \n "tab_size": 4, "translate_tabs_to_spaces": true, "trim_trailing_white_space_on_save": true, "ensure_newline_at_eof_on_save": true, // Sidebar – exclude distracting files and folders "file_exclude_patterns": [ ".DS_Store", "*.pid", "*.pyc" ], "folder_exclude_patterns": [ ".git", "__pycache__", "env", "env3" ]}Pylinter.sublime-settings配置了pylinter 插件。我使用下面的配置让 Pyhton 在保存时自动规范,并对违反规范显示图标。?
⑷ 如何配置python环境下的sublime
前言:
我以前就用着 SublimeText 2,但是 python 环境一直不能用。昨天看到《如何优雅地使用 Sublime Text》这篇文章,据说 SublimeText 3 能瞬间启动,就忍不住想换掉2版了。我主要在日常查看、编辑文档的时候用一下SublimeText,偶尔作为编辑器敲敲Python代码。网上安装的教程很多,我主要记录一下我自己安装的和配置的过程,作一个备忘。文件下载地址:SublimeText3工具箱。
安装和配置过程:
安装:
打开 Sublime Text Build 3083 x64 Setup.exe ,安装 SublimeText 3。
汉化:
打开 SublimeText 3,点击Preferences-》Browser Package,将会打开Packages文件夹。将 Sublime_Text_CN_3083.zip 里面的文件解压到这个路径,汉化完成。
破解:
未破解的 SublimeText 3 标题栏上有个 Sublime Text(UNREGISTERED)后缀,我们只需要输入一个激活码就行了。点击帮助-》输入许可证,输入下面的代码就可以了:
—– BEGIN LICENSE —–Andrew WeberSingle User LicenseEA7E-855605813A03DD 5E4AD9E6 6C0EEB94 BC99798F942194A6 02396E98 E62C9979 4BB979FE91424C9D A45400BF F6747D88 2FB8807890F5CC94 1CDC92DC 8457107A F151657B1D22E383 A997F016 42397640 33F41CFCE1D0AE85 A0BBD039 0E9C8D55 E1B89D5D5CDB7036 E56DE1C0 EFCC0840 650CD3A6B98FC99C 8FAC73EE D2B95564 DF450523—— END LICENSE ——12345678910111213
设置不保存上次打开的文件:
点击Preferences-》设置-用户,将会打开 Preferences.sublime-settings 文件,在里面添加两行代码:
"hot_exit": false,"remember_open_files": false12
禁止 SublimeText 3 自动检查更新:
点击Preferences-》设置-用户,将会打开 Preferences.sublime-settings 文件,在里面添加一行代码:
"update_check": false1
更改 SublimeText 3 的主题:
主题下载地址:进入Github地址后点击“Download ZIP”下载主题)点击Preferences-》浏览程序包,将会打开 Packages 文件夹,把下载的主题解压在这个路径,并改名为 “Theme – XXXX”(XXXX为主题的名字)。例如我用的主题是 cobalt2(Github地址:),下载解压后文件夹的名字是“cobalt2-master”,把它改名为“Theme – Cobalt2”并放进Packages文件夹里。点击Preferences-》设置-用户,将会打开 Preferences.sublime-settings 文件,在里面添加两行代码:
"color_scheme": "Packages/Theme – Cobalt2/cobalt2.tmTheme","theme": "Cobalt2.sublime-theme"12
最后点击Preferences-》配色方案,就可以看到有 Cobalt2 主题选项了。(有可能会遇到编辑框的主题变了,而左边侧边栏仍然是黑色的,更改的方法是安装一个包:SyncedSidebarBg,安装包的方法见下方。)
安装包的方法:
SublimeText3 安装包可以直接从网上下载对应的包,然后解压到 Packages 文件夹,也可以用 Package Control:install 的方法:使用 Ctrl+` 快捷键或者通过View-》Show Console菜单打开命令行,粘贴如下代码再回车:
import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())1
此后就可以按 Ctrl + Shift + P 组合键调出命令框,输入 install 再回车,输入要下载的包名即可。
Python环境的配置:
首先,安装几个包:AutoPep8、Pylinter、SublimeCodeIntel。接着Preferences-》浏览程序包打开 Packages 文件夹,进入里面的 Pylinter 文件夹,把 pylint-1.5.2.tar.gz 压缩包里的内容解压到这个路径。解压以后,进入pylint-1.5.2-》examples,打开 pylintrc 文件(可以用SublimeText3打开),大约在28行有句 “symbols=no” ,前面加个 “#” 把它注释掉。再接着就是配置路径:打开Preferences-》Package Settings-》Pylinter-》Settings – Default,在里面改几个路径:python_path 的路径填上 python 的安装路径(即 python.exe 所在路径)pylint_path 的路径填上刚才解压出来的路径(即 “…./Packages/Pylinter/pylint-1.5.2)此时打开一个 .py 文件,按 Ctrl + B 执行即可。
打开 txt 文件时出现主题乱了的问题:
可能是SublimeText3没有设置默认打开方式,点击右下角状态栏中的打开方式,选择Open all with current extension as …-》Plain Text,这是默认以纯文本方式打开。(如果下方状态栏没有打开的话可以点击查看-》打开/关闭状态栏;或者按 Ctrl + Shift + P 组合键调出命令窗口,输入 View:Toggle Status Bar 打开状态栏。)
SublimeText3 常用技巧:
Ctrl + D:选择相同内容(一行接一行)
⑸ sublime text 怎么添加python
Sublime Text 3 (ST3) 是一个轻量级的跨平台文字编辑器,尤以其轻快的速度,易用性和强大的社区支持而著称。它一经面世便被认为是一个杰出的编辑器,而它真正的强大之处在于你可以使用 Package Control 来增加它的功能以及可以进行各种自定义设置。在本文章中,我们将会看到如何将 Sublime Text 打造成为 Python 的全栈开发环境(从前端到后端),如何通过自定义主题和插件来增强它的基本功能,并且还将会涉及到很多使 ST3 变得更加强大的常用的命令,特性以及快捷键。本教程将假定你使用的是 Mac 电脑并且习惯于使用终端。如果你使用的是 Windows 或者 Linux 操作系统,本文涉及到的一些命令将有可能会有所不同,但是你应该仍然可以很容易地通过 Google 来获取到与本教程相关的解答。在我们开始之前,让我们先讨论一下我所谓的”全栈”具体指的是什么。在现在的 HTML5 以及移动设备开发中,Javascript 简直无处不在。是的,无处不在!仅仅使用 Python 基于某个框架比如 Django 或者 Flask 进行开发是不够的。如果你想从始至终真正的自己开发一个网站的话,你必须熟悉 Javascript(以及 Javascript 的一大堆的框架),REST API(含状态传输 API),响应式设计,当然还有 HTML 和 CSS,以及其他许多东西。现在让我们来面对一个问题:就像其他任何一个手艺人一样,为了成为一个最厉害的程序员,你的工具必须犀利,你的开发环境必须被打造成全栈开发——那就是我们马上将要开始的工作…特性让我们从 ST3 的一些默认特性开始着手吧…Split Layouts 允许你将你的许多文件放到很多分割开来的视窗中。如果你正在进行以测试为目的的开发(将 Python 代码放在一个视窗中,而测试脚本放在另一个视窗中)或者正在进行前端开发(将 HTML 代码放在一个视窗里,CSS/Javascript 代码放在另一个视窗里)的时候将会非常有用。 Vintage Mode 让你能够在 ST3 中使用 vi 模式。Chrome-like Tabs 让你在多个文件中切换变得更加方便。Automatic loading of the last session 帮你自动打开你上次关闭的时候编辑器中所有打开的文件。我总是一直开着 ST3,而且其中打开着一大堆项目——当我重启电脑以后, 它能够自动帮我打开所有的这些文件和文件夹。Code Snippets 允许你通过一两个简单的关键字就能写出一段常用的代码片(Snippets),从而增加你的生产效率。比如,你只需要打开一个文件,输入 “lorem” 然后敲击 tab 键,就会自动生成一段乱数假文(译者注: 一种用于测试文章或文字在不同字型、版型下看起来的效果等的文字)。又比如在 Python 代码中,你可以输入 “defs” 然后敲击 tab 键,你就能得到一段通用的函数定义。同时,你还可以点击 Tools > New Snippet 来创建属于你自己的代码片。请参照这个 文档来获取帮助,也可以在 这里 查看我个人用到的一些 snippets。自定义 Sublime Text 3在你下载完 ST3 以后…在命令行中添加 subl 命令就像 TextMate 的 mate 命令一样,Sublime Text 拥有一个叫做 subl 的命令行工具,可以用来通过终端打开一个文件或者一整个文件夹。你需要建立一个指向 subl 二进制文件的符号链接来使 subl 命令有效:Python1$ ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/bin/subl尝试使用以下命令来打开 Sublime 来确保链接生效了:Python1$ subl如果以上命令没有效果,你可能需要将 /bin 添加到你的环境变量中:Python1$ echo "export PATH=~/bin:$PATH" >> ~/.profile然后重新尝试第一步。如果你仍然遇到问题,尝试查看 这篇 文章来获取帮助。 或者你可以看看如何在 Windows和 Linux 中建立符号链接。现在你就可以通过下述命令来打开文件或者文件夹了:Python12345678# open the current directory$ subl .# open a directory called tests$ subl ~/Documents/test# open a file called text.txt$ subl test.txt如果路径中含有空格,你必须使用双引号将路径括起来:Python1$ subl "~/Documents/test/my test file.txt"想要查询所有可用的命令,请打开帮助文件:Python1$ subl –help安装 Package Control为了使用众多的 插件 来扩展 Sublime 的功能,你需要安装一个叫做 Package Control 的插件管理器——这个东西你必须要手动安装。但是一旦你安装好了以后,你就可以使用 Package Control 来安装,移除或者升级所有的 ST3 插件了。点击 这里 从 Sublime Text 3 官方获取用于安装的代码。依次点击 View > Show Console 打开 ST3 的控制台。在控制台中粘贴刚才的代码,然后点击回车。最后重启 ST3。现在你可以通过快捷键 cmd+shift+P 打开 Package Control 来安装其他的插件了。输入 install 然后你就能看见屏幕上出现了 Package Control: Install Package,点击回车然后搜索你想要的插件。其他一些相关命令如下:List Packages 显示所有已安装的插件Remove Packages 移除一个指定的插件Upgrade Package 更新一个指定的插件Upgrade/Overwrite All Packages 更新所有已安装的插件请查阅官方 文档 获取更多的命令。创建自定义配置文件你可以通过一个基于 JSON 的配置文件来充分的自定义 Sublime Text,这使得转移或者同步你的自定义文件到另一个系统变得非常容易。首先,我们需要新建我们自己的配置文件。我们最好是为不同的系统环境和编程语言各自创建一个配置文件。依次点击 Sublime Text > Preferences > Settings – User 来创建一个配置文件。在该文件中添加一个空的 JSON 类然后就可以在其中写入你的配置内容了。如下所示:Python1234567{// base settings"auto_complete": false,"sublimelinter": false,"tab_size": 2,"word_wrap": true}如果想为特定的编程语言新建配置文件的话,请点击 Sublime Text > Preferences > Settings – More > Syntax Specific – User。然后按照 LANGUAGE.sublime-settings 的格式保存该配置文件。例如想新建一个 Python 专用的配置文件,请将该文件保存为 Python.sublime-settings。你完全可以按照你自己的喜好来进行各项配置;不过我强烈推荐以我的这份 配置文件 以及 Python 配置 作为基础,然后修改成你所需要的内容。一个可选项: 你可以使用 Dropbox 来同步你的所有配置。你只需要将你的配置文件上传到 Dropbox 然后就可以将你的配置同步到你的任意一台设备上了。你可以在 Sublime Text Unofficial Documentation 找到一些非常好的参考配置。主题ST3 为你提供了完全自定义化一个适合自己主题的能力。当然,你如果不是那么的挑剔的话,你可以通过 Package Control 从许许多多的由 Sublime 社区设计的 主题 中下载一个。 在下载之前你可以通过 ColorSublime 来预览这些主题。广受欢迎的的 Soda Dark 和极简风格的 Flatland 是我个人最喜欢的两个主题。在安装完了主题以后, 请务必更新你的配置文件. Sublime Text > Preferences > Settings – User:Python1234{"theme": "Flatland Dark.sublime-theme","color_scheme": "Packages/Theme – Flatland/Flatland Dark.tmTheme"}插件除了那些主题以外,我还会使用以下这一些插件来提升我的工作效率。SideBarEnhancementsSideBarEnhancements 扩展了侧边栏中菜单选项的数量,从而提升你的工作效率。诸如”New file” 和 “Duplicate” 这样的选项对于 ST3 来说实在是太重要了, 我甚至觉得 ST3 本来就应该提供这些功能。而且仅凭 “Delete” 这一个功能就让这个插件值得下载。这个功能将你会在你删除文件的时候把它放入回收站。虽然这个功能乍一看没什么用,但是当你没有使用这样的功能而彻底删除了一个文件的时候,除非你用了版本管理软件,否则你将很难恢复这个文件。现在就下载吧!AnacondaAnaconda 是一个终极 Python 插件。它为 ST3 增添了多项 IDE 类似的功能,例如:Autocompletion 自动完成,该选项默认开启,同时提供多种配置选项。Code linting 使用支持 pep8 标准的 PyLint 或者 PyFlakes。因为我个人使用的是另外的 linting 工具,所以我会在 Anaconda 的配置文件 Anaconda.sublime-settings中将 linting 完全禁用。操作如下: Sublime > Preferences > Package Settings > Anaconda > Settings – User: {"anaconda_linting": false}McCabe code complexity checker 让你可以在特定的文件中使用 McCabe complexity checker. 如果你对软件复杂度检查工具不太熟悉的话,请务必先浏览上边的链接。Goto Definitions 能够在你的整个工程中查找并且显示任意一个变量,函数,或者类的定义。Find Usage 能够快速的查找某个变量,函数或者类在某个特定文件中的什么地方被使用了。Show Documentation: 能够显示一个函数或者类的说明性字符串(当然,是在定义了字符串的情况下)你可以在这里,或者通过 ST3 的 Package Settings: Sublime Text > Preferences > Package Settings > Anaconda > README 来查看所有这些特性。SublimeCodeIntel 是另外一个非常流行的插件,它的许多特性与 Anaconda 类似。我建议同时也试试它。DjaneiroDjaneiro 支持 Django 模版和关键字高亮以及许多实用的代码片(snippets)功能。其中的 snippets 绝对是省时神器。你可以通过很少几个关键字就能创建许多常见的 Django 代码块比如 templates,models,forms,以及 views。请查看官方文档获取 snippets 列表。我个人非常喜欢的以下两个用于创建 template 的代码片:输入 var 就可以新建 {{ }},而输入 tag 就能新建 {% %}。requirementstxtRequirementstxt 可以为你的 requirements.txt 文件提供自动补全,语法高亮以及版本管理功能。SublimeLinterSublimeLinter 是 ST3 的一个代码静态检查工具框架(linter)。这个插件本身来说并不包含任何的一个 linter,但是你可以通过在 Package Control 中输入 SublimeLinter-[linter_name] 的方式来安装一个 linter。你可以点击这里查看官方的 linter。同时你还可以在 Package Control 中查看到许多的第三方 linter。请点击这里查看安装说明。对于 Python 的代码静态检查器,我建议使用 SublimeLinter-pyflakes 和 SublimeLinter-pep8。与此同时,我也会使用 SublimeLinter-jshint, SublimeLinter-pyyaml, SublimeLinter-csslint,SublimeLinter-html-tidy,以及 SublimeLinter-json。以上大多数的 linter 都需要先安装一些依赖库才能使用,所以在安装前请务必阅读他们的安装说明。你可以通过修改用户自定义的 SublimeLinter.sublime-settings 文件来对你的每个 linter 个性化:Sublime Text > Preferences > Package Settings > SublimeLinter > Settings – User. 例如我通过以下代码来忽略 pep8 中的错误和警告:Python12345678"pep8": {"@disable": false,"args": [],"excludes": [],"ignore": "E501,C0301,W0142,W0402,R0201,E1101,E1102,C0103,R0901,R0903,R0904,C1001,W0223,W0232,W0201,E1103,R0801,C0111","max-line-length": 100,"select": ""},GitGutterGitGutter 让 ST3 能在左边栏的位置显示一个小图标,用以表示在最后一次提交以后,代码是否有追加,修改或者删除。如果你想让该插件支持分布式的版本管理软件(Git,SVN,Bazaar 和 Mercurial)。请查看 Modific。FTPSyncFTPSync 能够将你的项目和远程文件进行同步。你只需要打开文件便可以下载更新(如果你的远端文件比本地更加新的话),而且如果你对本地文件做出了修改可以立即同步到远程服务器。这是非常棒的同步本地文件和远程文件的方法。你可以通过以下的方法来添加你的远程服务器:Sublime Text > Preferences > Package Settings > FTPSync > Setup FTPSync.Sample settings:Python1234567891011{'primary': {host: 'ftp.mywebsite.com',username: 'johnsmith',password: 'secretpassword',path: '/www/',upload_on_save: true,tls: true}}我个人喜欢把密码设为 null 因为我不想让我的密码出现在配置文件中。这样 FTPSync 会在我每次保存完文件后要求我输入密码。AdvancedNewFileAdvancedNewFile 可以让你在 ST3 中使用简单的几个快捷键便创建一个新的文件夹或者一个新的文件:你只需要通过几个快捷键便可以打开 AdvancedNewFile 的输入框。然后输入路径和文件名。当你按下回车键后,文件便被创建了。除此之外,如果目标文件夹并不存在的话,该文件夹将会被自动建立。在默认情况下,你创建的文件的路径将会显示在状态栏中。请查看 Github 上的这篇文档来获取更为详细的使用说明。特别建议请详细阅读TAB自动补全(Tab Completion)以及预定义别名(Predefined Aliases)部分。我把“cmd+n”设置为了通过 AdvancedNewFile 创建新文件的快捷方式。该快捷键可以通过修改 Key Bindings – User file 来实现 Sublime Text > Preferences > Package Settings > AdvancedNewFile > Key Bindings – User:Python123[{ "keys": ["cmd+n"], "command": "advanced_new_file_new"}]你也可以更改默认打开的文件夹路径:Sublime Text > Preferences > Package Settings > AdvancedNewFile > Settings – UserPython1{"default_initial": "/Users/michaelherman/Documents/repos"}这样我创建新文件的时候,/Users/michaelherman/Documents/repos将会自动被添加到路径最前方,因为99%的情况下我都会把我的脚本放在这个路径下。EmmetEmmet,以前叫做 Zen Coding,让你可以通过简单的缩写来创建 HTML 或者 CSS 的代码块。例如,你只需要输入感叹号!,然后按下 tab 键,便可以在一个 HTML 文件中创建一段带有几个基本标签的 HTML5 文档类型的代码:Python12345678910<!doctype html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body></body></html>请查看官方文档或者速查手册获取更多信息。Markdown PreviewMarkdown Preview 可以用来预览和编译 markdown 文件。你可以打开 Package Manager 然后输入 Markdown Preview 来查看可用的命令:Markdown Preview: Python Mrakdown: 在浏览器中预览Markdown Preview: Python Mrakdown: 导出 HTML 文件Markdown Preview: Python Mrakdown: 拷贝到剪贴板Markdown Preview: Github风格Markdown: 在浏览器中预览Markdown Preview: Github风格Markdown: 导出 HTML 文件Markdown Preview: Github风格Markdown: 拷贝到剪贴板Markdown Preview: 打开Markdown速查手册一旦你完成转换,你之后的所有保存都会立即反映到转换的文件中。快捷键跳转到任意内容 (“cmd+p”) 用来快速查找和打开文件。你仅仅只需要工程中文件的一部分路径或者文件名你就可以很容易的打开这个文件。这在一个大型的 Django 工程中显得非常方便。跳转到指定行 (“ctrl+g”) 让你在当前文件中跳转到指定行数。跳转到标志 (“cmd+r”) 可以列出当前文件中所有的函数或者类,让你更方便查找。你可以通过输入关键字来查找你所需要的函数或者类。跳转到行首 (cmd+left-arrow-key) 与 跳转到行尾 (cmd+right-arrow-key)删除当前行(ctrl+shift+k)多重编辑 是我迄今为止最喜欢的快捷键Python121.选定一个单词,点击 **“cmd+d”** 来选择同样的单词,再次点击 **“cmd+d”** 继续选择下一个单词…2.或者 **“cmd+单击”** 来指定多个你想要同时修改的地方。块编辑 (option+left-mouse-click) 用于选择一整块的内容。通常在整理 CSV 文件的时候用于删除空白内容。如果想了解更多关于快捷键的内容,请看一下这篇文章。自定义命令你可以很容易地使用 Python 来编辑你自己的自定义命令和快捷键组合。目前我个人使用的有以下这些:拷贝当前文件路径到剪贴板 – 链接关闭除当前活动标签页以外的所有其他标签页 – 链接通过文件选项打开你的 Package 文件夹(Sublime > Preferences > Browse Packages),然后打开 User 文件夹,接下来将上述的 Python 文件添加到 “/Sublime Text 3/Packages/User” 文件夹中。最后请在 Key Bindings – User file (Sublime Text > Preferences > Package Settings > AdvancedNewFile > Key Bindings – User) 文件中完成快捷键绑定。Python123456789101112[// Copy file name{"keys": ["cmd+shift+c"],"command": "_path_to_clipboard"},// Close all other tabs{"keys": ["cmd+alt+w"],"command": "close_tabs"}]
⑹ 如何用VS Code 编写Python
下载并安装VS Code,最近(2016-7-15)VS Code更新比较快,几天一个新版本,我现在用的是1.3.0版安装python插件:打开VsCode,Ctrl + p后输入ext install python,稍等片刻会发现一个关于python插件的列表,选择一个并安装,我安装的是VSC官网上介绍的那个,它的介绍语是这么写的:"*Linting, Debugging (multi-threaded, remote), Intellisense, code formatting, snippets, and more",安装完这个插件后就有智能提示了,当然,因为python是动态语言,某些时候VSC无法识别一个变量的类型,因为只有运行时才能确定它的类型,就算神仙也没法智能提示。配置python的版本,如果环境变量里有多个版本的python,可以通过如下配置指定一个:依次点击File->Preference->User Settings会打开两个文件,左边的叫做Default.Settings,右边的叫做Setting.json,将左侧的"python.pythonPath": "python"拷贝到右侧并修改为"python.pythonPath": "/usr/bin/python3"或任何你想修改的python目录即可。其它的设置也是这样,左侧的是默认的,右侧的如果设置了和左侧相同的内容则覆盖左侧的。设置运行配置:打开或新建一个python源文件,按下快捷键Ctrl+Shift+B运行,VSC会提示No task runner configured.,点击“Configure Task Runner”,选择“Others”,输入以下内容并保存:{"version": "0.1.0","command": "/usr/bin/python3","isShellCommand": true,"args": ["${file}"],"showOutput": "always"}设置完毕后再次按下Ctrl+Shift+B即可自动使用python命令运行程序并在VSC中看到输出结果单步调试:Ctrl+Shift+D进入调试界面,点击设置小按钮配置launch.json文件,用默认配置就可以了(详细的配置项请看python插件官网介绍:)Linting:原谅我不知道用汉语怎么说,就是在编写代码并保存后会吧语法错误的行用波浪线标示出来而不用等到build的时候才给出错误提示。配置方法分两步:1,安装Pylint这个第三方包;2,配置Settings.json文件以开启或关闭Linting,貌似默认就是开启的。具体的操作方法请见python插件官网(官网的wiki中还有很多有用的信息,建议都看看),需要注意的是,如果是在Linux系统下,用pip安装Pylint时选择对pip命令,别搞错了(我用的Ubuntu14.04里有预装的用于python2的pip命令,还有一个自己后来安装的用于python3的pip3命令)。
⑺ 如何使用 Pylint 来规范 Python 代码风格
Pylint 在 Linux 上的安装1. 在 Linux 上,首先安装 Python 的包(高于版本 2.2),并在环境变量 $PATH 中添加 Python 可执行文件的路径。2. 下载 Pylint、logilab-astng (version >= 0.14) 和 logilab-common (version >= 0.13) 的包 , 使用 tar zxvf *.tar.gz解压缩这些包。3. 依次进入 logilab-astng、logilab-common 和 Pylint 解开的文件夹中,运行命令 Python setup.py install来安装。4. 安装完成后,就可以通过 pylint [options] mole_or_package来调用 Pylint 了。Pylint 在 Windows 上的安装1. 安装 Python 的包(高于版本 2.2),右键单击桌面上的我的电脑图标,选择属性,高级,环境变量,在 $PATH 中添加 Python 的安装路径,如 C:\Python26\。2. 使用解压缩工具解压缩所有的包。3. 打开命令行窗口,使用 cd依次进入 logilab-astng、logilab-common 和 Pylint 解开的文件夹中,运行命令 python setup.py install来安装。4. 安装完成后,在 Python 的安装路径下出现一个 Scripts 文件夹,里面包含一些 bat 脚本,如 pylint.bat 等。5.为了使调用 pylint.bat 的时候不需要输入完整路径,在 Python 的安装目录下创建 pylint.bat 的重定向文件,这是一个纯文本文件 pylint.bat,里面包含 pylint.bat 的实际路径,如:C:\Python26\Scripts\pylint.bat。6. 安装完成后,可以通过 pylint [options] mole_or_package来调用 Pylint 了。Pylint 的调用清单 1. Pylint 的调用命令pylint [options] mole_or_package使用 Pylint 对一个模块 mole.py 进行代码检查:1. 进入这个模块所在的文件夹,运行 pylint [options] mole.py这种调用方式是一直可以工作的,因为当前的工作目录会被自动加入 Python 的路径中。2. 不进入模块所在的文件夹,运行 pylint [options] directory/mole.py这种调用方式当如下条件满足的时候是可以工作的:directory 是个 Python 包 ( 比如包含一个 __init__.py 文件 ),或者 directory 被加入了 Python 的路径中。使用 Pylint 对一个包 pakage 进行代码检查:1. 进入这个包所在文件夹,运行 pylint [options] pakage。这种调用方式是一直可以工作的,因为当前的工作目录会被自动加入 Python 的路径中。2. 不进入包所在的文件夹,运行 pylint [options] directory/ pakage。这种情况下当如下条件满足的时候是可以工作的:directory 被加入了 Python 的路径中。比如在 Linux 上,export PYTHONPATH=$PYTHONPATH: directory。此外,对于安装了 tkinter 包的机器,可以使用命令 pylint-gui打开一个简单的 GUI 界面,在这里输入模块或者包的名字 ( 规则同命令行 ), 点击 Run,Pylint 的输出会在 GUI 中显示。Pylint 的常用命令行参数-h,–help显示所有帮助信息。–generate-rcfile可以使用 pylint –generate-rcfile 来生成一个配置文件示例。可以使用重定向把这个配置文件保存下来用做以后使用。也可以在前面加上其它选项,使这些选项的值被包含在这个产生的配置文件里。如:pylint –persistent=n –generate-rcfile > pylint.conf,查看 pylint.conf,可以看到 persistent=no,而不再是其默认值 yes。–rcfile=<file>指定一个配置文件。把使用的配置放在配置文件中,这样不仅规范了自己代码,也可以方便地和别人共享这些规范。-i <y_or_n>, –include-ids=<y_or_n>在输出中包含 message 的 id, 然后通过 pylint –help-msg=<msg-id>来查看这个错误的详细信息,这样可以具体地定位错误。-r <y_or_n>, –reports=<y_or_n>默认是 y, 表示 Pylint 的输出中除了包含源代码分析部分,也包含报告部分。–files-output=<y_or_n>将每个 mole /package 的 message 输出到一个以 pylint_mole/package. [txt|html] 命名的文件中,如果有 report 的话,输出到名为 pylint_global.[txt|html] 的文件中。默认是输出到屏幕上不输出到文件里。-f <format>, –output-format=<format>设置输出格式。可以选择的格式有 text, parseable, colorized, msvs (visual studio) 和 html, 默认的输出格式是 text。–disable-msg=<msg ids>禁止指定 id 的 message. 比如说输出中包含了 W0402 这个 warning 的 message, 如果不希望它在输出中出现,可以使用 –disable-msg= W0402Pylint 的输出Pylint的默认输出格式是原始文本(raw text)格式 ,可以通过 -f <format>,–output-format=<format> 来指定别的输出格式如html等等。在Pylint的输出中有如下两个部分:源代码分析部分和报告部分。源代码分析部分:对于每一个 Python 模块,Pylint 的结果中首先显示一些"*"字符 , 后面紧跟模块的名字,然后是一系列的 message, message 的格式如下:MESSAGE_TYPE: LINE_NUM:[OBJECT:] MESSAGEMESSAGE_TYPE 有如下几种:(C) 惯例。违反了编码风格标准(R) 重构。写得非常糟糕的代码。(W) 警告。某些 Python 特定的问题。(E) 错误。很可能是代码中的错误。(F) 致命错误。阻止 Pylint 进一步运行的错误。清单 2. Pylint 中的 utils 模块的输出结果************* Mole utilsC: 88:Message: Missing docstringR: 88:Message: Too few public methods (0/2)C:183:MessagesHandlerMixIn._cat_ids: Missing docstringR:183:MessagesHandlerMixIn._cat_ids: Method could be a functionR:282:MessagesHandlerMixIn.list_messages: Too many branches (14/12)报告部分:在源代码分析结束后面,会有一系列的报告,每个报告关注于项目的某些方面,如每种类别的 message 的数目,模块的依赖关系等等。具体来说,报告中会包含如下的方面:检查的 mole 的个数。对于每个 mole, 错误和警告在其中所占的百分比。比如有两个 mole A 和 B, 如果一共检查出来 4 个错误,1 个错误是在 A 中,3 个错误是在 B 中,那么 A 的错误的百分比是 25%, B 的错误的百分比是 75%。错误,警告的总数量。回页首使用 Pylint 分析 Python 代码的具体示例下面是一个从 xml 文件中读取一些值并显示出来的一段 Python 代码 dw.py,代码如下:清单 3. 源码import string#!/usr/bin/env python import xml.dom.minidom xmlDom=xml.dom.minidom.parse("identity.xml")organizations = xmlDom.getElementsByTagName('DW')for org in organizations:procts = org.getElementsByTagName('linux')for proct in procts:print 'ID: ' + proct.getAttribute('id')print 'Name: ' + proct.getAttribute('name')print 'Word Count: ' + proct.getAttribute('count')清单 4. identity.xml 的内容<IBM><DW><linux id="100" name="python" count="3000" /></DW></IBM>这时候使用 Pylint 的结果(这是从 html 格式的输出中拷贝的)为:清单 5. Pylint 的分析结果************* Mole dwC:1:Missing docstringC:5:Operator not preceded by a space xmlDom=xml.dom.minidom.parse("identity.xml") ^C:5:Invalid name "xmlDom" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)C:6:Invalid name "organizations" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) Report 部分省略输出中第一部分是源代码分析,第二部分是报告。输出结果中有这么多信息,从哪里开始分析呢?首先使用如下的步骤来分析代码:1. 因为输出结果太长,所以可以先不让它输出报告部分,先根据源代码分析部分来找出代码中的问题。使用选项 "–reports=n"。2. 使用选项 "–include-ids=y"。可以获取到源代码分析部分每条信息的 ID。清单 6. 使用 pylint –reports=n –include-ids=y dw.py 的结果************* Mole dw C0111: 1: Missing docstring C0322: 5: Operator not preceded by a space xmlDom=xml.dom.minidom.parse("identity.xml") ^ C0103: 5: Invalid name "xmlDom" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) C0103: 6: Invalid name "organizations" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)每个信息前面都会加上一个 id, 如果不理解这个信息的意思,可以通过 pylint –help-msg=id来查看。清单 7. 使用 pylint –help-msg= C0111 的结果C0111: *Missing docstring*Used when a mole, function, class or method has no docstring. Some specialmethods like __init__ doesn't necessary require a docstring.This message belongs to the basic checker.3. 开始分析每个源代码中的问题。从上面知道,第一个问题的原因是缺少 docstring,在代码中增加 docstring, 修改后的代码如下:清单 8. 增加 docstring 修改后的源码#!/usr/bin/env python """This script parse the content of a xml file"""import xml.dom.minidom xmlDom=xml.dom.minidom.parse("identity.xml")organizations = xmlDom.getElementsByTagName('DW')for org in organizations:procts = org.getElementsByTagName('linux')for proct in procts:print 'ID: ' + proct.getAttribute('id')print 'Name: ' + proct.getAttribute('name')print 'Word Count: ' + proct.getAttribute('count')重新运行 pylint –reports=n –include-ids=y dw.py,结果为:清单 9. 运行结果************* Mole dwC0322: 7: Operator not preceded by a spacexmlDom=xml.dom.minidom.parse("identity.xml")^C0103: 7: Invalid name "xmlDom" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)C0103: 8: Invalid name "organizations" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)可以看到源代码中的第一个问题已被解决。4. 关于第二个 C0322 的问题,这里的分析结果说明得比较清楚,是代码第七行中的等号运算符两边没有空格。我们在这里加上空格,重新运行 pylint –reports=n –include-ids=y dw.py,结果为:清单 10. 运行结果************* Mole dwC0103: 7: Invalid name "xmlDom" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)C0103: 8: Invalid name "organizations" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)5.可以看到现在问题只剩下 C0103 了。这里的意思是变量命名规则应该符合后面正则表达式的规定。Pylint 定义了一系列针对变量,函数,类等的名字的命名规则。实际中我们不一定要使用这样的命名规则,我们可以定义使用正则表达式定义自己的命名规则,比如使用选项 –const-rgx='[a-z_][a-z0-9_]{2,30}$',我们将变量 xmlDom改为 xmldom, 代码如下:清单 11. 将变量 xmlDom 改为 xmldom 后的源码#!/usr/bin/env python """This script parse the content of a xml file"""import xml.dom.minidom xmldom = xml.dom.minidom.parse("identity.xml")organizations = xmldom.getElementsByTagName('DW')for org in organizations:procts = org.getElementsByTagName('linux')for proct in procts:print 'ID: ' + proct.getAttribute('id')print 'Name: ' + proct.getAttribute('name')print 'Word Count: ' + proct.getAttribute('count')运行 pylint –reports=n –include-ids=y –const-rgx='[a-z_][a-z0-9_]{2,30}$' dw.py,结果中就没有任何问题了。6. 如果希望一个组里的人都使用这些统一的规则,来规范一个部门的代码风格。比如说大家都使用 –const-rgx='[a-z_][a-z0-9_]{2,30}$'作为命名规则,那么一个比较便捷的方法是使用配置文件。使用 pylint –generate-rcfile > pylint.conf来生成一个示例配置文件,然后编辑其中的 –const-rgx选项。或者也可以直接 pylint –const-rgx='[a-z_][a-z0-9_]{2,30}$' –generate-rcfile > pylint.conf,这样生成的配置文件中 –const-rgx选项直接就是 '[a-z_][a-z0-9_]{2,30}$'了。以后运行 Pylint 的时候指定配置文件:pylint –rcfile=pylint.conf dw.py这样 Pylint 就会按照配置文件 pylint.conf中的选项来指定参数。在一个部门中,大家可以共同使用同一个配置文件,这样就可以保持一致的代码风格。7. 如果把 report 部分加上,即不使用 –reports=n,可以看到报告部分的内容。
⑻ 怎么更改pylint的默认配置文件
获取帮助信息pylint安装成功后,可以通过运行"pylint –help"来快速查看pylint的帮助信息;相关信息基本能够支撑起快速使用起来pylint的基本功能。[email protected]:~$ pylint –helpNo config file found, using default configurationUsage: pylint [options] mole_or_package Check that a mole satisfies a coding standard (and more !). pylint –help Display this help message and exit. pylint –help-msg <msg-id>[,<msg-id>] Display help messages about given message identifiers and exit.Options: –version show program's version number and exit -h, –help show this help message and exit –long-help more verbose help. Master: –rcfile=<file> Specify a configuration file. -E, –errors-only In error mode, checkers without error messages are disabled and for others, only the ERROR messages are displayed, and no reports are done by default –ignore=<file>[,<file>…] Add files or directories to the blacklist. They should be base names, not paths. [current: CVS] Commands: –help-msg=<msg-id> Display a help message for the given message id and exit. The value may be a comma separated list of message ids. –generate-rcfile Generate a sample configuration file according to the current configuration. You can put other options before this one to get them in the generated configuration. Messages control: -e <msg ids>, –enable=<msg ids> Enable the message, report, category or checker with the given id(s). You can either give multiple identifier separated by comma (,) or put this option multiple time. See also the "–disable" option for examples. -d <msg ids>, –disable=<msg ids> Disable the message, report, category or checker with the given id(s). You can either give multiple identifiers separated by comma (,) or put this option multiple times (only on the command line, not in the configuration file where it should appear only once).You can also use "–disable=all" to disable everything first and then reenable specific checks. For example, if you want to run only the similarities checker, you can use "–disable=all –enable=similarities". If you want to run only the classes checker, but have no Warning level messages displayed, use"–disable=all –enable=classes –disable=W" Reports: -f <format>, –output-format=<format> Set the output format. Available formats are text, parseable, colorized, msvs (visual studio) and html. You can also give a reporter class, eg mypackage.mymole.MyReporterClass. [current: text] -r <y_or_n>, –reports=<y_or_n> Tells whether to display a full report or only the messages [current: yes] –msg-template=<template> Template used to display messages. This is a python new-style format string used to format the message information. See doc for all details生成配置文件可以通过"pylint –generate-rcfile"生成配置文件模板,可以在模板文件上定制相关的统一的配置文件。配置文件中包含了master, message control, reports, typecheck, similarities, basic, variables, format, design, classes, imports, exception相关的lint配置信息,用户可以进行私人订制。[email protected]:~$ cat pylint.conf[MASTER]# Specify a configuration file.#rcfile=# Python code to execute, usually for sys.path manipulation such as# pygtk.require().#init-hook=# Profiled execution.profile=no# Add files or directories to the blacklist. They should be base names, not# paths.ignore=CVS# Pickle collected data for later comparisons.persistent=yes# List of plugins (as comma separated values of python moles names) to load,# usually to register additional checkers.load-plugins=[MESSAGES CONTROL]# Enable the message, report, category or checker with the given id(s). You can# either give multiple identifier separated by comma (,) or put this option# multiple time. See also the "–disable" option for examples.#enable=# Disable the message, report, category or checker with the given id(s). You# can either give multiple identifiers separated by comma (,) or put this# option multiple times (only on the command line, not in the configuration# file where it should appear only once).You can also use "–disable=all" to# disable everything first and then reenable specific checks. For example, if# you want to run only the similarities checker, you can use "–disable=all# –enable=similarities". If you want to run only the classes checker, but have# no Warning level messages displayed, use"–disable=all –enable=classes# –disable=W"#disable=disable=logging-not-lazy, line-too-long, trailing-whitespace, bare-except, broad-except[REPORTS]# Set the output format. Available formats are text, parseable, colorized, msvs# (visual studio) and html. You can also give a reporter class, eg# mypackage.mymole.MyReporterClass.output-format=text# Put messages in a separate file for each mole / package specified on the# command line instead of printing them on stdout. Reports (if any) will be# written in a file name "pylint_global.[txt|html]".files-output=no# Tells whether to display a full report or only the messagesreports=yes# Python expression which should return a note less than 10 (10 is the highest# note). You have access to the variables errors warning, statement which# respectively contain the number of errors / warnings messages and the total# number of statements analyzed. This is used by the global evaluation report# (RP0004).evaluation=10.0 – ((float(5 * error + warning + refactor + convention) / statement) * 10)
⑼ 如何配置vscode的python编译环境
为VSCode安装扩展用VSCode编程是需要依赖扩展的。写Python需要安装python的扩展,写C++需要安装C++的扩展。刚打开编辑器的时候,它一般会推荐一些扩展,你如果什么都不知道,可以先安装官方推荐的这些扩展:修改VSCode的一些选项的默认值VSCode有很多选项可以被修改,其各个选项都有默认值,这些默认值存储在"\settings.json"中(不过我没找到这个文件),用户如果想修改某些选项的值(比如:修改字体的大小),VSCode会自动帮我们生成一个“settings.json”文件,然后我们直接在这个文件中配置自己想要的值即可。VSCode还没有创建"settings.json"文件:VSCode帮我们创建了"settings.json"文件:我们修改字号,让字体大一些。修改完后,保存一下,自定义的值就会覆盖默认值,修改就生效了。用VSCode编写和调试python程序下面就开始用VSCode编程了。因为python的配置超简单,我们以python为例来说明一下。https //segmentfault com/q/1010000005897116VSCode是以文件夹作为项目单位的。所以,我们如果要新建一个python项目的话,需要新建一个文件夹,然后在这个文件夹里面放置.py文件。然后让VSCode"打开文件夹",这样VSCode就能识别这个项目了。(当然可以用VSCode直接创建文件夹和文件。)先创建test_python文件夹,里面创建一个test.py文件。然后用VSCode加载它:加载后的样子。可以看到,因为安装了python扩展,已经有高亮等效果了。下面开始调试。很显然要选择python选项:然后VSCode为我们自动生成了"launch.json"文件,此文件有很多配置项,有的选项是默认从"settings.json"中取值的(比如"config.python.pythonPath")。如果"settings.json"中没有配置它们的话,调试时可能会无法启动。同时,项目文件夹下面还自动生成了".vscode"文件夹。文件"launch.json"就在这个文件夹中。此时VSCode才算是真正意义上接手了这个项目文件夹。网上的教程里,直接先在"settings.json"中把"python.pythonPath"先配置了一下,我当时不是太理解。现在看来,我们也需要配置一下了。配置完之后,就可以正常调试程序了。用VSCode调试带参的Python程序修改test.py里面的代码,让它能打印参数(修改后的代码见下面的图片)。修改launch.json,找到"configurations"中"name"为"Python"的那个配置块,给它添加"args"项,如下图所示:添加前的配置块:添加后的配置块:文件launch.json修改完毕后,按F5调试程序,可以看到控制台输出的结果:在按F5调试时,VSCode每次都会在程序入口处暂停住,这是配置项"stopOnEntry"在起作用,将其改成false后就不会出现这种情况了。用VSCode自动格式化代码VSCode“自动格式化代码”的快捷键是“Alt+Shift+F”。要格式化Python代码,需要安装Python包yapf(或autopep8、等)。在命令行下执行:[plain] view plain python -m pip install yapf然后配置"settings.json",启用yapf:用VSCode对python代码进行语言分析VSCode使用python的语言分析(写python代码的时候,编辑器会提示哪里出错,哪里的代码格式不规范),可以安装flake8(或pylint、等):在命令行下执行:[plain] view plain python -m pip install flake8然后配置"settings.json",启用flake8:更换文件图标主题(使VSCode左侧的资源管理器根据文件类型显示图标):可以选择已经存在的文件图标主题:"文件"->"首选项"->"文件图标主题"->"Seti(Visual Studio Code)"。你也可以安装“vscode-icons”插件,安装的方式:在“扩展(Ctrl+Shift+X)”中,搜索“vscode-icons”,然后安装并重新加载它,然后VSCode会让你执行一些操作,以激活"vscode-icons"插件。操作为:"文件"->"首选项"->"文件图标主题"->"VSCode Icons"。对应到英文的话,应该是"File" -> "Preferences" -> "File Icon Theme"->"VSCode Icons"。Guides(缩进线插件,让代码看起来更清晰):在“扩展(Ctrl+Shift+X)”中,搜索“Guides”,然后安装并重新加载它即可。