Replies: 3 comments 14 replies
-
Correct me if I am wrong, pyenv install python in different paths depending on the versions. So a venv created based on a particular python version may become stale if the hosted Python gets deleted from the system. I am not a heavy user of miniconda so I don't know if the same applies to conda. In fact, PDM is on par with Poetry and Pipenv but not miniconda or pyenv. In fact PDM can work with pyenv pretty well. PDM is just seeking another way that isolated environments should not rely on an interpreter. It is packages that need to be isolated not the interpreter. Another important reason is you actually don't need a reason to build something that will make yourself happy, isn't it? So I can design the interface my own way and implement rather new PEPs about the Python packaging. |
Beta Was this translation helpful? Give feedback.
-
PDM is closest to Poetry, and is based on PEP582 rather than using virtualenvs. |
Beta Was this translation helpful? Give feedback.
-
Another difference between Poetry and PDM is that Poetry has chosen not to comply with PEP-621, which gives it additional flexibility. PDM is committed to upholding the standards, and so dropped support for dynamically updating trove categories, for example as Poetry does. Thus, when migrating or starting a new project that you plan on distributing on PyPI, you should include these in your # pyproject.toml
requires-python = ">=3.9"
license = {text = "BSD-2-Clause"}
# As per PEP 621, these cannot be dynamically updated so you
# must update them if you chance the license and requires-python data.
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"License :: OSI Approved :: BSD License",
] See also: |
Beta Was this translation helpful? Give feedback.
-
Hello, I just stumbled across this project's introductory blog post.
After reading this:
I can certainly related to the frustrations of having virtualenvs tied to a particular python install, but this is the kind of thing that I've been able to solve via pyenv+miniconda for many years now.
Something like this and you're mostly done:
If you want more repos, stick it in a for loop and you're 99.9% of the way there.
I'm not here to try and bash this tool in any way. I'm genuinely curious as to what spurred someone on to spend the time to build yet another python packaging tool. After skimming this particular repo's README, it's just not entirely clear to me why this tool exists and/or what problem the author(s) set out to solve.
Having played with tooling such as pip-tools and pipenv that offer wildly frustrating partially complete solutions, I can certainly understand wanting a better way to do things.
Beta Was this translation helpful? Give feedback.
All reactions