4 ms·
Having encountered poetry recently for the first time, it was "simply" hell. I just wanted to use a single file python project, https://github.com/rumpelsepp/os
by rektide 4y ago
Having encountered poetry recently for the first time, it was "simply" hell. I just wanted to use a single file python project, https://github.com/rumpelsepp/oscclip https://github.com/rumpelsepp/oscclip
I spent about three hours trying to figure out how to setup python keyrings to work, to let me just get started using poetry. On a system I was ssh'ed I to. Gnome-keyring-daemom was up. I spent a while adding random pam rules suggested by archwiki in to inject more gnome-daemon stuff in my envs. Random gnome-keyring-unlock scripts, which quickly start talking about Clevis and tpm and fido 2-factor. Wading through hundreds of responses about Seahorse, a gui tool unsuitable for ssh. Many long miserable sad stories.
In the end I stumbled upon someone who suggested just nulling out & turning off keyring with some config to make it have a null provider. After this the poetry project just worked.
The tiny handful of deps this project has were already installed on my system, but poetry was also a task runner, instrumental for the usage of this single-file script.
There's been so many years of churn in the python world of tools. A fractal nesting doll of virtual-env, mkvirtualenv, & various offshoots. I hope some day there is a mature reasonable option folks generally find agreeable. Poetry eventually worked for me, but what a miserable gauntlet I had to walk, and the cries of so many who'd walked the path & utterly failed echoed out at me at every step.
- whalesalad 4y agoYikes. One of my favorite features from pip is how easily you can install from a git repo, or even the absolute url to the master.zip
- mixmastamyk 4y agoYeah, that's the problem with all these "helpful" posts. You don't need poetry for that. My single CLI packages still use a setup.py that I haven't touched in five years and was simple enough to write.
- deleted 4y ago[deleted]
- AndyKluger 4y agoFWIW, for the case of installing Python packages as runnable tools (as opposed to importable libraries), pipx is solid. For example, you can install oscclip to a temp dir with a dedicated venv and run it immediately: $ pipx run --spec 'oscclip @ git+https://github.com/rumpelsepp/oscclip' osc-copy --help Or install it more permanently: $ pipx install 'oscclip @ git+https://github.com/rumpelsepp/oscclip' My own Zsh frontend for managing Python venvs and deps, zpy, makes use of pip-tools to accomplish the same, with its pipx clone, pipz: $ pipz runpkg 'oscclip @ git+https://github.com/rumpelsepp/oscclip' osc-copy --help $ pipz install 'oscclip @ git+https://github.com/rumpelsepp/oscclip'