『仕事ではPythonを使ったことがない』程度のレベルです。
自習時に調べたことのノートとして記録します。
前提条件
- WindowsOS
- VSCodeを利用する
詳細
toxの導入
公式ドキュメント
インストール手順
pip install tox
- 実行結果
>pip install tox Collecting tox Downloading tox-3.20.1-py2.py3-none-any.whl (83 kB) |████████████████████████████████| 83 kB 6.1 MB/s Requirement already satisfied: toml>=0.9.4 in c:\users\******\appdata\local\programs\python\python38\lib\site-packages (from tox) (0.10.2) Requirement already satisfied: colorama>=0.4.1 in c:\users\******\appdata\roaming\python\python38\site-packages (from tox) (0.4.1) Collecting filelock>=3.0.0 Downloading filelock-3.0.12-py3-none-any.whl (7.6 kB) Collecting packaging>=14 Downloading packaging-20.8-py2.py3-none-any.whl (39 kB) Collecting pluggy>=0.12.0 Downloading pluggy-0.13.1-py2.py3-none-any.whl (18 kB) Collecting py>=1.4.17 Downloading py-1.10.0-py2.py3-none-any.whl (97 kB) |████████████████████████████████| 97 kB 6.8 MB/s Collecting pyparsing>=2.0.2 Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB) |████████████████████████████████| 67 kB ... Collecting six>=1.14.0 Downloading six-1.15.0-py2.py3-none-any.whl (10 kB) Collecting virtualenv!=20.0.0,!=20.0.1,!=20.0.2,!=20.0.3,!=20.0.4,!=20.0.5,!=20.0.6,!=20.0.7,>=16.0.0 Downloading virtualenv-20.2.2-py2.py3-none-any.whl (5.7 MB) |████████████████████████████████| 5.7 MB ... Requirement already satisfied: appdirs<2,>=1.4.3 in c:\users\******\appdata\local\programs\python\python38\lib\site-packages (from virtualenv!=20.0.0,!=20.0.1,!=20.0.2,!=20.0.3,!=20.0.4,!=20.0.5,!=20.0.6,!=20.0.7,>=16.0.0->tox) (1.4.4) Collecting distlib<1,>=0.3.1 Downloading distlib-0.3.1-py2.py3-none-any.whl (335 kB) |████████████████████████████████| 335 kB 6.4 MB/s Installing collected packages: six, pyparsing, filelock, distlib, virtualenv, py, pluggy, packaging, tox Attempting uninstall: six Found existing installation: six 1.12.0 Uninstalling six-1.12.0: Successfully uninstalled six-1.12.0 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. astroid 2.3.2 requires six==1.12, but you have six 1.15.0 which is incompatible. Successfully installed distlib-0.3.1 filelock-3.0.12 packaging-20.8 pluggy-0.13.1 py-1.10.0 pyparsing-2.4.7 six-1.15.0 tox-3.20.1 virtualenv-20.2.2
バージョンを確認する
>tox --version 3.20.1 imported from c:\users\******\appdata\local\programs\python\python38\lib\site-packages\tox\__init__.py
設定をカスタマイズする
- プロジェクトのトップディレクトリに
tox.ini
というファイルを作成し、内部を記述することで設定をカスタマイズすることができます。- コードフォーマッターを利用する場合はFlake8よりも先に実行しておきましょう。
[tox] envlist = black,flake8,mypy skipsdist = true [testenv:flake8] deps = flake8 commands = flake8 src/* [testenv:mypy] deps = mypy commands = mypy src/* [testenv:black] deps = black commands = black src/* [flack8] max-line-length = 119 max-complexity =10