sublime-text-2のpylinter使ててFatal errorとか出たので応急処置メモ

Close article

sublimetext2使ってるpythonistの人で
pylinter使ってる人とか多い気がするけどきっと、
ぼくも使ってたけどエラー出て動かんくなったから、
とりあえず応急処置して動いた!までやったことメモ。

とりあえずsublime text 2上でpylintが走った瞬間、
以下のお怒りの文言が表示される

Fatal pylint error:
pylint.utils.UnknownMessage: No such message id C0303

ググっても解決法を探しきれず、
とりあえずpylintを最新にupdate
→さらに動かんくなった。\(^o^)/

無謀にもエラーを読み解いてみる。

pylint.utils.UnknownMessage

…未知のメッセージ…だと…!?

とりあえずpylintのファイルをあさる。
(自分のpythonまでのパス)/pylint/utils.py
↑このファイルに、こんなclass発見

class UnknownMessage(Exception):

そして、このclassの中身は

"""raised when a unregistered message id is encountered"""

↑このコメント1行だけ。\(^o^)/

いやしかし!つまりは C0303 がないの?
またファイルをあさる。

(自分のpythonまでのパス)/pylint/checkers/format.py
↑このファイルのMSGSって辞書に、っぽいキーが並んでる!
そしてC0303 が無い!

ネット上で該当ファイルと、C0303をあさり、どっかから、
C0303の部分を拾ってきて貼り付け。

んで、sublimetext再起動したらpylint動いた!

いや、いつ消えたんか何故消えたんかわからんけど、
とりあえず動いたし、まぁええか。

とりあえず、ぼくが拾ってきた format.py の中のMSGS辞書は、
これやけど、最新のじゃないかもしれんし、まぁまぁ、
これの一部を自分のローカルのpylintのファイルにコピペして、
エラー治ったーとか、ちょっとどうかと思うし、
よい子のみんなはマネしないように気をつけて

MSGS = {
    'C0301': ('Line too long (%s/%s)',
              'line-too-long',
              'Used when a line is longer than a given number of characters.'),
    'C0302': ('Too many lines in module (%s)', # was W0302
              'too-many-lines',
              'Used when a module has too much lines, reducing its readability.'
              ),
    'C0303': ('Trailing whitespace',
              'trailing-whitespace',
              'Used when there is whitespace between the end of a line and the '
              'newline.'),
    'C0304': ('Final newline missing',
              'missing-final-newline',
              'Used when the last line in a file is missing a newline.'),
    'W0311': ('Bad indentation. Found %s %s, expected %s',
              'bad-indentation',
              'Used when an unexpected number of indentation\'s tabulations or '
              'spaces has been found.'),
    'W0312': ('Found indentation with %ss instead of %ss',
              'mixed-indentation',
              'Used when there are some mixed tabs and spaces in a module.'),
    'W0301': ('Unnecessary semicolon', # was W0106
              'unnecessary-semicolon',
              'Used when a statement is ended by a semi-colon (";"), which \
              isn\'t necessary (that\'s python, not C ;).'),
    'C0321': ('More than one statement on a single line',
              'multiple-statements',
              'Used when more than on statement are found on the same line.',
              {'scope': WarningScope.NODE}),
    'C0322': ('Operator not preceded by a space\n%s',
              'no-space-before-operator',
              'Used when one of the following operator (!= | <= | == | >= | < '
              '| > | = | \\+= | -= | \\*= | /= | %) is not preceded by a space.',
              {'scope': WarningScope.NODE}),
    'C0323': ('Operator not followed by a space\n%s',
              'no-space-after-operator',
              'Used when one of the following operator (!= | <= | == | >= | < '
              '| > | = | \\+= | -= | \\*= | /= | %) is not followed by a space.',
              {'scope': WarningScope.NODE}),
    'C0324': ('Comma not followed by a space\n%s',
              'no-space-after-comma',
              'Used when a comma (",") is not followed by a space.',
              {'scope': WarningScope.NODE}),
    }
Comment : 0

sublimetext2 で pylint (pylinter) 使ってみた

Close article

やぁ。
オフィスでも家でもメインエディタになった、
「sublime text 2」で pylint 使ってみたメモ。
なんかsublimeLinterでpylint使うとか、そんなカッコイイやり方、
できそうやけど、やり方わからんかった。
sublimetext の pylinter も、日本語の情報が少なすぎて…。
(環境 windows 7 + python 2.6 + pylint 0.26.0 + sublime text2)

手順

1 pylintインストール
このあたりから。
http://pypi.python.org/pypi/pylint
2 pylinterインストール
御多分にもれず、Sublime Package Control から、install package で、
pylinter をインストール
3 pylinter 設定(以下はぼくの場合)

{
// When versbose is ‘true’, various messages will be written to the console.
// values: true or false
“verbose”: false,
// The full path to the Python executable you want to
// run Pylint with or simply use ‘python’.
“python_bin”: “python”,
// The following paths will be added Pylint’s Python path
“python_path”: [
“C:\\Python25\\”
],
// Optionally set the working directory
“working_dir”: “C:\\dev\\trunk\\project\\”,
// Full path to the lint.py module in the pylint package
“pylint_path”: “C:\\Python25\\Lib\\site-packages\\pylint\\lint.py”,
// Optional full path to a Pylint configuration file
“pylint_rc”: null,
// Set to true to automtically run Pylint on save
“run_on_save”: true,
// Set to true to use graphical error icons
“use_icons”: true,
“disable_outline”: false,
// Status messages stay as long as cursor is on an error line
“message_stay”: true,
// Ignore Pylint error types. Possible values:
// “R” : Refactor for a “good practice” metric violation
// “C” : Convention for coding standard violation
// “W” : Warning for stylistic problems, or minor programming issues
// “E” : Error for important programming issues (i.e. most probably bug)
// “F” : Fatal for errors which prevented further processing

“ignore”: [],
// a list of strings of individual errors to disable, ex: [“C0301”]
“disable”: []
}

4 sublimetext2再起動
5 done.

補足

これを参考に設定する人は、ディレクトリ関係とかは、適当に脳内変換してね。
pylinterのバージョンとかによっては、デフォルトの設定が変わるかもしらんし、
ほんま参考程度にどうぞ。
あ、sublimetext2 は多分ほかのプラグインもそうやけど、
「Settings – Default」に設定書いちゃうと、たまに消えるかも。
「Settings – User」に書かないと。
Defaultの設定項目をUserでオーバーライドするんやね多分きっと。

Comment : 0

エディタ「Sublime Text 2」が良い感じ

Close article

巷で「恋に落ちるエディタ」とか言われてる、
SublimeText2 使ってみたら、想像以上に
使いやすかったから勢いでブログ書いてみる。

ぼくが恋に落ちた理由は、たぶん…
・設定いじらなくてもとりあえず使える
・なんとなくオシャレな気がする
・ぬるぬるスクロール
・vi入力にする設定が簡単
・参照元ジャンプ、ファイル開く
・リアルタイムエラーチェック
・プラグイン(Package)のインストール簡単
とかかな。
Ctrl+Pからファイル開くのメチャ気持ちい。
プラグイン入れたり設定したり、多分1時間位で
普通に仕事で使えるようになった!優秀。
▼こんな画面。

(色の設定は Preferences → Color Scheme
  この色は「Monokai Bright」)
入れたPackage(プラグイン)は、
 ■Package Control
   パッケージ簡単インストールとかできーる。
   必須やと思う
 ■SublimeLinter
   リアルタイムコードチェック
   Pythonは動いた。きっとPHPも大丈夫
   初期設定では結構細かく怒られる
   面倒なら設定ファイルの”pep8_ignore”:に、無視したいエラーコードを記載
   (エラーコードはエラーの該当行にカーソル合わせれば出る)
 ■CTags
   参照コードジャンプ用。
   Pythonは動いた。きっとPHPも大丈夫
設定は、Preferences → Setting-User で開く
JSONファイルに記入するらしい。
ぼくの設定は

{
“color_scheme”: “Packages/Color Scheme – Default/Monokai Bright.tmTheme”,
“draw_white_space”: “all”,
“font_size”: 12.5,
“highlight_line”: true,
“ignored_packages”:[],
“line_padding_top”: 1,
“tab_size”: 2,
“vintage_ctrl_keys”: true,
“vintage_start_in_command_mode”: true
}

↑こんな感じ。
それぞれの意味は↓

// スペースを全て描画する
“draw_white_space”: “all”,
// フォントサイズ
“font_size”: 12.5,
// カレント行ハイライトする
“highlight_line”: true,
// vi使うための設定
// 多分Defaultで省かれてるのを解除
“ignored_packages”:[],
// 行間?
“line_padding_top”: 1,
// TABサイズ?
“tab_size”: 2,
// vi使うための設定らしい
“vintage_ctrl_keys”: true,
// vi使うための設定らしい
“vintage_start_in_command_mode”: true

↑この設定ファイルの場所は
windowsなら、(●●←windowsのユーザ名)
「C:\Users\●●\AppData\Roaming\Sublime Text 2\Packages\User」
にあるらしい。もし変な設定書いちゃって、
Sublime Textが起動しなくなったら、直接編集できるはず。
よく使うショートカットキーは(全てデフォ)
・Ctrl+P
 (ファイルを開く)
・Ctrl+T→Ctrl+T
 (参照元コードジャンプ)
・Ctrl+T→Ctrl+B
 (コードジャンプから戻る)
・Ctrl+T→Ctrl+R
 (ソース更新 CTag用)
・ /
 (検索)
・Ctrl+Shift+F
 (grep)
(※ Vi設定やPackageの設定含む )
WindowsでもMacでも使えるし、
プログラマでもコーダーでもデザイナーでも使えるし、
Packageも豊富で、なんて素晴らしい。
NetBeansは途中で妥協してEclipse使ってたけど、
しばらくSublime Text2使ってみようと思うます。
細かい使い方とか設定は、ググると色々でてくるのでググってちょ
また時間できたら細かく書いてみる多分

Comment : 0
↑ return to top of page
blog comments powered by Disqus