Replies: 6 comments 12 replies
-
Ah, I'm disappointed that pep-582 isn't going to be accepted. I like it much better than all the variations on virtual environments. Is there a way that existing projects could be grandfathered in without any need for going back and manually opting in to pep-582? |
Beta Was this translation helpful? Give feedback.
-
Thank you for asking your community @frostming 🙂 Sure, if you feel it's what's best for the project, go for it. It's true that PEP-582 still being a draft can make PDM's design look premature, so I think this move would improve the seriousness of this project in the eyes of users and companies (native venv support would be a reassuring feature). And maybe help promoting PEP-582 even more? 🤔 I don't mind opting in 😊 |
Beta Was this translation helpful? Give feedback.
-
I think opt-in is best. I've migrated my workplace to PDM and the biggest challenge in rolling out this change was explaining the difference between venv and PEP-582. Teaching people to do When I was evaluating the different options, PEP-582 was a one of the least important aspects compared to Poetry and Pyflow.
So while I personally do like PEP-582 (and hope the issues around it get resolved), marketing PDM as:
is selling itself short. I think PDM is absolutely the best packaging solution right now in terms of featurefulness and standards compliance, so I'd describe it more as:
|
Beta Was this translation helpful? Give feedback.
-
I was thinking about this a bit more and wondered, even if PEP 582 is not the default, what should be the initial behavior if someone clones a PDM repo, and runs Should PDM create a venv? Install globally? Install in the user directory? Install in |
Beta Was this translation helpful? Give feedback.
-
Thanks for listening to the community! From a user's perspective I believe either way works for me and I might not even notice the difference, since the change won't break my workflow. On the other hand, I think it would have more impact to you, especially on how you intend to design, evolve and advertise PDM going forward. I believe your decision will be in the best interest of this project. By the way, any updates on PEP 582? It being a draft is the main reason why we have to have this discussion and make a choice. Hope it will be adopted soon. |
Beta Was this translation helpful? Give feedback.
-
I've started the work in #1193 |
Beta Was this translation helpful? Give feedback.
-
PEP 582 is what drives this project and the reason why it is born. However, it is also the main criticism about PDM -- PEP 582 is still in draft. People don't tend to recommend PDM to avoid the impression that it has become the CPython standard. That is quite unfortunate but it seems hard to push PEP 582 forward since it will definitely break someone's workflow while benefiting many more.
To change it to an opt-in feature, we can simply absorb
pdm-venv
into the main project, and venv will become the default. Then, PEP 582 can be enabled bypdm config python.use_venv false
. Existing projects with whatever layout can work as before. But before that, I would like to hear more voice from the community, and hence opened this vote. Feel free to comment below on why or why not you support it./cc @linw1995 @pawamoy @noirbizarre @ElijahSink
32 votes ·
Beta Was this translation helpful? Give feedback.
All reactions