[Python] TOP¶
学習¶
公式ドキュメントをピックアップして超分かりやすく¶
package管理の歴史 (~2019年)¶
エムスリーテックブログ
Pythonのパッケージ周りのベストプラクティスを理解する - エムスリーテックブログ
砲撃する自走砲(PzH2000自走榴弾砲)。自走砲は戦車によく似ていますが、戦車ではありません。*本編とは関係ありません。 こんにちは、エムスリー基盤開発チーム小本です。 Pythonのパッケージ管理周りでは、 「setup.pyでrequirements.txtを読み込むのが普通なんですよね?」 「pipenv があれば venv はオワコンなんですね?」 「pyenvは要らないんですよね!?」 「Pythonは歴史が古い分、Rubyなどに比べてカオス」 みたいな混乱をよく目にします。 実際、複数のツールがあって(一見)複雑です。また「なぜこうした状況にあるのか」がドキュメント化されているわ…
フレームワーク/ライブラリの選定¶
Pacakge Manager¶
名前 | 採用 | IDEAプラグイン | VSCode拡張 |
---|---|---|---|
Pipenv | O | 不要 | 不要 |
Poetry |
Test¶
名前 | 採用 | IDEAプラグイン | VSCode拡張 |
---|---|---|---|
Pytest | O | 不要 | 不要 |
Doctestも併用する
Linter¶
名前 | 採用 | IDEAプラグイン | VSCode拡張 |
---|---|---|---|
Pylint | O | pylint-idea | |
flake8 |
Formatter¶
名前 | 採用 | IDEAプラグイン | VSCode拡張 |
---|---|---|---|
black | O | あるが使わない1 | 不要 |
yapf | あるが使わない2 | 不要 | |
autopep8 |
CLI¶
名前 | 採用 | IDEAプラグイン | VSCode拡張 |
---|---|---|---|
owcli | O |
関数型系¶
名前 | 採用 | IDEAプラグイン | VSCode拡張 | 備考 |
---|---|---|---|---|
fn.py | O | pip install fn -> from fn import _ |
Gitリポジトリにあるパッケージのインストール¶
$ pip install git+<リポジトリ URL>
よくやる環境構築¶
環境構築と開発ツールのインストール¶
owcli使わない場合¶
$ pipenv install --python 3.7
$ pipenv install --dev --pre black pylint
$ pipenv shell
owcli使う場合¶
$ owcli init <app_name>
$ pipenv install --python 3.7
# ここまでowcliのPipfileに記載してしまってもいいかも。。
$ pipenv install --dev --pre black pylint
$ pipenv shell
.pylintrc
作成¶
owcli init
内で生成してしまうのもアリ?
$ pylint --generate-rcfile > .pylintrc
pyproject.toml
作成¶
テンプレートに含めてしまうのもアリ?
.gitignore作成¶
owcliに組み込んでしまった方がいいかも。。
gitも初期化してしまった方がいいかも。。
$ curl "https://raw.githubusercontent.com/github/gitignore/master/Python.gitignore" > .gitignore
$ echo /.idea >> .gitignore