pylint をインストールをすると jedi-vim がエラー
pip uninstall colorama
で解決。
◯ エラーが出力された背景
以下のような手順で pylint をインストールしました。
$ # virtualenv の環境を作ります。 $ mkvirtualenv --python=python3 python3 $ workon python3 (python3)$ (python3)$ # この段階では jedi-vim は問題なく動作します。 (python3)$ vim myapp/models.py (python3)$ (python3)$ # ところが pylint をインストールした後だと... (python3)$ pip install --upgrade pip (python3)$ pip install pylint (python3)$ vim myapp/models.py
vim を開くと以下のようなエラーが出力されます。
Error: jedi-vim failed to initialize Python: jedi#setup_py_version: Vim(py3file):Traceback (most recent call last): (in function jedi#init_python[3]..<SNR>52_init_python[50]..jedi#setup_py_version, line 18)
◯ 確認していった手順
- この症状は
rmvirtualenv python3
として上記の作業を再度行っても、同じ症状が再現 - vim の再インストールをしても症状は改善せず
brew uninstall vim --force
,brew install vim --with-python3
jedi-vim failed to initialize Python #423 - 一緒にインストールされるパッケージを1つ1つアンインストールして、どれが当たるかを確認 → colorama が原因であることを確認
Installing collected packages: six, lazy-object-proxy, wrapt, astroid, colorama, pylint
調べてみると pylint は Windows で必要なパッケージだったので外すことに。動作に問題ないことを確認。
colorama は、カーソルポジションとターミナル上の文字を色付けするために ANSI escape character sequence を Microsoft Windows でも働くようにします。
colorama 0.3.9 : Python Package Index
Makes ANSI escape character sequences (for producing colored terminal text and cursor positioning) work under MS Windows.
pylint 設定して変更した内容
① bad-continuation,too-few-public-methods を追記
disable=filter-builtin-not-iterating,...,bad-continuation,too-few-public-methods
② 4文字から2文字スペースに
indent-string=' ' indent-string=' '
でも pylint は厳しすぎるから、結局 pyflakes にしてしまった...。