NANA MIZUKI LIVE GALAXY 2016の配信動画をお供に、Pyreというツールを眺めています。
本来の目的はPysaを試すことなのですが、公式ドキュメントの読み方が間違っていなければ、
PysaはPyreの一部、つまりPyreを使えなければいけないと理解しています。
https://pyre-check.org/docs/getting-started
Getting Startedをしてみないと始まらないので、雑にですが実施記録を書いてみます。
実施した環境はUbuntuのDockerコンテナです。
(1)環境の確認~前提ミドルウェアのインストール
root@[コンテナ名]:/# cat /etc/os-release NAME="Ubuntu" VERSION="20.04 LTS (Focal Fossa)" ・・・ root@[コンテナ名]:/# apt-get update root@[コンテナ名]:/# apt-get install python3 python3-pip watchman python3-venv --- ドキュメントにはないが、python3-venvを入れておかないと、 後の python3 -m venv ~/.venvs/venv で怒られる。 --- root@[コンテナ名]:/# cd root@[コンテナ名]:/~# pwd /root
(2)Getting Startedお試し
root@[コンテナ名]:/~# mkdir my_project && cd my_project root@[コンテナ名]:~/my_project# python3 -m venv ~/.venvs/venv root@[コンテナ名]:~/my_project# source ~/.venvs/venv/bin/activate (venv) root@[コンテナ名]:~/my_project# pip install pyre-check (途中の出力にERRORとあったけど、最終的に下記Successfullyになったので一旦無視。) ・・・ Successfully installed dataclasses-0.6 libcst-0.3.9 mypy-extensions-0.4.3 psutil-5.7.2 pyre-check-0.0.52 pyre-extensions-0.0.18 pywatchman-1.4.1 pyyaml-5.3.1 typing-extensions-3.7.4.2 typing-inspect-0.6.0 (venv) root@[コンテナ名]:~/my_project# pyre init ? Also initialize a watchman configuration? [Y/n] Y { "watch": "/root/my_project", "watcher": "inotify", "version": "4.9.0" } ? Which directory should pyre be initialized in? (Default: `.`): . (venv) root@[コンテナ名]:~/my_project# echo "i: int = 'string'" > test.py (venv) root@[コンテナ名]:~/my_project# pyre ? Found 1 type error! test.py:1:0 Incompatible variable type [9]: i is declared to have type `int` but is used as type `str`. (venv) root@[コンテナ名]:~/my_project#
<戦利品>
ヲタクに恋は難しい(9)
ぼくたちは勉強ができない(18)