-
Notifications
You must be signed in to change notification settings - Fork 18
Description
Is your feature request related to a problem? Please describe.
There are a number of common configurations that we would like people to do when setting up Python, which were handled by the old MSI installer:
- Add the versioned executable directory to their PATH
- Set up long path support
We should have a command (suggestion: pymanager config <action>) that does these things.
Describe the solution you'd like
- A
pymanager config pathcommand that adds%LOCALAPPDATA%\Python\binto the user's PATH. - A
pymanager config long_path_supportcommand that enables long path support as described here. This would obviously only work in an elevated prompt.
Note that pymanager config path should check to ensure that the value is not already on the user's PATH. Only an exact match should be considered - we shouldn't worry about the possibility that the user has manually added the directory using a different form. Similarly, pymanager config path --remove should remove that exact entry. We should just modify the registry setting - it is the user's responsibility to restart their shell or other programs to pick up the new setting (the command could print a warning to that effect).
Long path support is more debatable. But I've seen enough people ask about how to enable it to suggest that the documentation isn't discoverable enough. Maybe a helper command would be better. But if this is considered unnecessary, I wouldn't object.
Describe alternatives you've considered
The obvious alternative is to simply expect the user to know how to make these changes. While this is often reasonable, a lot of Python programmers are relatively new to programming (and may not even be programmers in the traditional sense - scientists, for example). Having a "canned command" saves those users trying to navigate unfamiliar documentation or explanations.
Additional context
Actions like modifying the user's PATH are notorious for being fragile and error-prone. While this is true, it is still commonly done by a lot of software, and I think we should avoid letting the perfect be the enemy of the good.