- Published on
pythonでpackageを作り管理する方法
rubyにはbundle gem foodie
するとfoodieというプロジェクトのコードの雛形が自動生成されて、開発がとても楽になります。node.jsも同様に、npm init
で最低限必要なコードディレクトとコードが生成されます。
ようやくpythonにもそのようなツールが2018年頃に作られました。それが、poetryです。 poetryでは、virtualenvの管理と、パッケージの管理、コードの雛形を生成してくれます。
それでは、poetryでコードの雛形の作成方法を紹介します。
pip install poetry
でpoetryをinstallします。
次に、下記のコマンドでmy-packcageというディレクトリと雛形を生成してくれます。
poetry new my-package
雛形はこのような形になります。
my-package ├── pyproject.toml ├── README.md ├── my_package │ └── __init__.py └── tests └── __init__.py
srcフォルダにしたい場合は作成する際に下記のようにするのがおすすめです
poetry new my-package --name src
そうすると、下記のように雛形生成されます。
my-package ├── pyproject.toml ├── README.md ├── src │ └── __init__.py └── tests └── __init__.py
何かpackageをinstallする際は、pip installの代わりに
poetry add package-name
とすることで、packageをinstallすることができます。
packageを除く場合は、下記のようにremoveしてあげます。
poetry remove package-name
そして、このproject内でコマンドを利用する際は、
poetry run commnad-name
とすることで、任意のcommnadを実行することが可能です。 また、FassやPassなどで、requirements.txsを求めらる場合があります。
その場合は、下記のコマンドでrequirements.txtを生成してあげます。
poetry export -f requirements.txt --output requirements.txt --without-hashes
これで、どのプロジェクトでも利用が可能になると思います。