ちょっと前まで、requirements.txtで依存ライブラリ管理して、
test-requirements.txtとか、testRequirements.txtなどに
ファイル分割してテスト周りのライブラリ管理していました。
最近、これをやめてpythonのパッケージ管理ツールであるpoetryへ移行しましたので、
その時の手順をご紹介。
poetryインストール
公式ではcurlコマンドを使用した以下方法が推奨されているみたい。
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
こちらも可。
pip install poetry
初期化
requirements.txtを管理しているプロジェクトのルートで、
poetry init
を実行します。そうすると対話式で以下のようなことを聞かれます。
任意のものは変える必要がなければそのままEnterでOKです。
Package name: 任意 Version: 任意 Description: 任意 Author: 任意 License: 任意 Compatible Python versions: pythonのバージョン Would you like to define your main dependencies interactively? (yes/no): あとで書くのでno Do you confirm generation? (yes/no): yes
これを終えると、
pyproject.tomlが出力されていると思います。
依存関係定義
作成されたpyproject.tomlを開いてみましょう。
[tool.poetry] name = "プロジェクト名" version = "0.1.0" description = "" authors = [""] [tool.poetry.dependencies] python = "^3.7" [tool.poetry.dev-dependencies] [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api"
tool.poetry.dependenciesには動作させるために必要なライブラリを
tool.poerty.dev-dependenciesにはテスト周りや上記以外に必要なライブラリを記載します。
poetry設定
設定でひとつ変えておいた方がいい箇所があります。
poetry config --list
このコマンドで設定をみてみましょう。
virtualenvs.in-project
この項目がfalseになっていると思います。
この項目はprojectルートに仮想環境を作るかどうか?という設定です。
trueにしておいた方がよいのでtrueに変更しましょう。
poetry config virtualenvs.in-project true
と実行して変更しましょう。
poetry適用
適用は、
poetry install (--no-dev)
–no-devをつけた場合はdev-dependenciesの部分を省いて
installされます。
まとめ
以上でした。
poetryは主流のようなので、覚えておいて損はないと思います。
他にも色々な機能があるようですが、
まずはパッケージ管理としての使用してみた。といったところでした。
それでは!!
20代前半までは東京で音楽をやりながら両手の指以上の業種でアルバイト生活をしていましたが、某大手プロバイダのテレアポのバイトでPCの知識の無さに愕然とし、コンピュータをもっと知りたい!と思ったことをきっかけに25歳の時にITの世界に未経験で飛び込みました。
紆余曲折を経て、現在は個人事業主としてお仕事させていただいており、10年ほどになります。
web制作から企業システム構築、ツール開発など、フロントエンドもバックエンドもサーバーもDBAも依頼があれば何でもやってきた雑食系エンジニアです。
今風にいうとフルスタックエンジニアということになるのでしょうか??
→ 詳細プロフィールというか、生い立ちはこちら
→スキルシートをご覧になる場合はこちら
→お仕事のご依頼やお見積りなどお問い合わせはこちらから!