忘れそうなのでメモ。
Mac Sierra (10.12.3) を使っている。
システムはPython2.7、アプリケーションはPython3.5で 2バージョンを共存させる。
Sublime Text 3 には Python3.5のflake8での構文チェックを設定する。
Pyenv環境の設定
pyenv, pyenv-virtualenv をインストール
- Homebrew
$ brew install pyenv $ brew install pyenv-virtualenv
- .bash_profile
# setting for pyenv export PYENV_ROOT="${HOME}/.pyenv" export PATH=${PYENV_ROOT}/bin:$PATH eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
$ source ~/.bash_profile $ pyenv version system (set by /Users/XXX/.pyenv/version)
これでディレクトリ毎にPythonのバージョンを切り分ける仕組みの設定完了。
python3.5の仮想環境を作る
$ pyenv install 3.5.2 $ pyenv virtualenv 3.5.2 python3 $ pyenv versions * system (set by /Users/XXX/.pyenv/version) 3.5.2 3.5.2/envs/python3 python3
- ディレクトリにPython3を適応させる
$ mkdir python-test $ cd python-test/ $ pyenv local python3 (python3) $ python -V Python 3.5.2
() でカレントディレクトリに適応されているPythonのバージョンが表示される。 python-test ディレクトリ内は、 python3環境が適応されているのがわかる。
python3.5の仮想環境にflake8をインストール
- pip でインストール
$ cd python-test/ (python3) $ pip -V pip 8.1.1 from /Users/XXX/.pyenv/versions/3.5.2/envs/python3/lib/python3.5/site-packages (python 3.5) (python3) $ pip install flake8 (python3) $ flake8 --version 3.3.0 (mccabe: 0.6.1, pycodestyle: 2.3.1, pyflakes: 1.5.0) CPython 3.5.2 on Darwin
python3環境でpipを実行し、python3環境にパッケージをインストールする。
これでマシン側での構文チェックコマンドが整った。
ちなみにコマンドラインで構文チェックをする場合は、
$ flake8 hogehoge.py
とかで実行できる。
次はSublime Text 3 側の設定。
Sublime Text 3 の準備
- Sublime Text 3のインストールは省略
- Package Controlのインストールも省略
- インストールしたパッケージは、
- SublimeLinter
- SublimeLinter-flake8
SublimeLinterの設定
Preferences > Package Settings > SublimeLinter > Setting - User
"paths": { "linux": [], "osx": [ "/Users/XXX/.pyenv/versions/python3/bin/" ], "windows": [] },
Sublime Text 3 を再起動して終わり。
SublimeLinterのデバックモード
Tools > SublimeLinter > Debug Mode にチェック。
そうするとデバッグログを出してくれるので、
Sublime Text 3 で cmd
+ `
でコンソールを開けば動かない時などいろいろヒントになる。
そんなこんなで、できた画面が以下の通り。
ちなみにデバックログを出すとどのラインがどんなルールに従っていないのか一覧ででる。
おわり。