Poetry: Difference between revisions
From YM2149.org
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
* install all poetry commands (in practice just one, also called poetry) using <code>motivate -S poetry</code> where motivate is provided by [https://pypi.org/project/venvpool/ venvpool] | * install all poetry commands (in practice just one, also called poetry) using <code>motivate -S poetry</code> where motivate is provided by [https://pypi.org/project/venvpool/ venvpool] | ||
** the poetry command will then create/use a suitable venv for itself just-in-time | ** the poetry command (in ~/.local/bin) will then create/use a suitable venv for itself just-in-time | ||
** you can specify version constraints e.g. <code>motivate -S 'poetry>=1.8,<2'</code> | ** you can specify version constraints e.g. <code>motivate -S 'poetry>=1.8,<2'</code> | ||
*** use <code>-f</code> to overwrite existing command | *** use <code>-f</code> to overwrite existing command | ||
[[Category:Programming]] | [[Category:Programming]] |
Revision as of 17:02, 6 February 2025
Same old stuff
- as with many so-called modern tools, solutions take a back seat to gloss
- composability also suffers
Install
- recommended install of poetry itself is to a venv (makes sense) but you must not activate that venv
- this violates the principle of least astonishment, especially when poetry then breezily installs app requirements into its own venv
Solution
- install all poetry commands (in practice just one, also called poetry) using
motivate -S poetry
where motivate is provided by venvpool- the poetry command (in ~/.local/bin) will then create/use a suitable venv for itself just-in-time
- you can specify version constraints e.g.
motivate -S 'poetry>=1.8,<2'
- use
-f
to overwrite existing command
- use