Please consider adding an in-built Python Version Manager (PVM) similar to existing tools like fnm (Fast Node Manager. The PVM should offer the following subcommands:
pvm list or pvm ls: Lists all locally installed Python versions.
pvm list-remote or pvm ls-remote: Lists all available Python versions for download, including alpha and beta versions.
pvm install <version>: Installs the specified Python version.
pvm use <version>: Sets a specific Python version for the current session.
pvm default <version>: Sets a default Python version globally.
pvm current: Displays the currently active Python version.
pvm uninstall <version>: Uninstalls the specified Python version.
pvm help: Displays help information for PVM commands.
Additionally, consider adding a Python package manager similar to Node's package.json system. Python could have a command like pip init or pip init -y to initialize a new project with package dependencies.
Additional Features:
Hot Reloading & Watch Mode:
Add support for py --hot main.py to provide hot-reloading of the Python script.
Add py --watch main.py to watch for file changes and automatically restart the script.
These enhancements would greatly improve Python's usability and developer experience.
Expected Benefits:
Simplified Python version management with comprehensive subcommands.
Streamlined package initialization and management.
Enhanced development workflow with hot-reloading and file-watching capabilities.
Hello!
Such a major feature should be widely discussed first. Please make a post at https://discuss.python.org/c/ideas/6.
Now I'm going to close it, we can re-open it later if needed.
Feature or enhancement
Proposal:
Description:
Please consider adding an in-built Python Version Manager (PVM) similar to existing tools like
fnm
(Fast Node Manager. The PVM should offer the following subcommands:pvm list
orpvm ls
: Lists all locally installed Python versions.pvm list-remote
orpvm ls-remote
: Lists all available Python versions for download, including alpha and beta versions.pvm install <version>
: Installs the specified Python version.pvm use <version>
: Sets a specific Python version for the current session.pvm default <version>
: Sets a default Python version globally.pvm current
: Displays the currently active Python version.pvm uninstall <version>
: Uninstalls the specified Python version.pvm help
: Displays help information for PVM commands.Additionally, consider adding a Python package manager similar to Node's
package.json
system. Python could have a command likepip init
orpip init -y
to initialize a new project with package dependencies.Additional Features:
py --hot main.py
to provide hot-reloading of the Python script.py --watch main.py
to watch for file changes and automatically restart the script.These enhancements would greatly improve Python's usability and developer experience.
Expected Benefits:
Has this already been discussed elsewhere?
No response given
Links to previous discussion of this feature:
No response