awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
pyenv-win avatar

pyenv-win/pyenv-win

0
View on GitHub↗
7,006 stars·569 forks·VBScript·mit·28 viewspyenv-win.github.io/pyenv-win↗

Pyenv Win

pyenv-win is a version manager for Windows that enables the installation and switching of multiple Python versions without affecting the system global installation. It functions as a multi-version installer and environment controller that ensures isolation and reproducibility across different projects.

The tool uses a shim-based routing system to intercept executable calls and direct them to specific versioned binaries. This allows for both system-wide default configurations and local directory-level overrides, where a specific version is automatically activated when entering a project folder.

Its capabilities cover the full lifecycle of Python runtime administration, including remote version discovery, installation, and removal. It also includes utilities for refreshing executable mappings and updating the version manager itself.

Features

  • Command Interception Shims - Intercepts Python executable calls via shims to route commands to the selected version based on environment settings.
  • Python Version Managers - Provides a tool for managing and switching between multiple Python interpreter versions on Windows.
  • Development Environment Setups - Configures specific Python versions for individual project folders to ensure environment consistency.
  • Local Overrides - Provides local configuration files to override global Python version settings for specific project folders.
  • Runtime Version Switching - Toggles the active Python version globally, for a specific session, or within a local directory.
  • Multi-Version Installations - Downloads and installs multiple Python language versions using a single command.
  • Python Runtime Managers - Provides administration tools for installing, removing, and updating multiple Python releases on Windows.
  • Directory-Based Version Resolution - Resolves the active Python version by prioritizing local directory configuration files over global system settings.
  • Isolated Runtime Directories - Stores multiple Python installations in separate directories to prevent binary conflicts on Windows.
  • Shim Regeneration - Rebuilds proxy executables after installing new Python versions to ensure the CLI routes to the correct binaries.
  • Shim Mapping Updates - Updates the internal mapping of executables to ensure correct Python versions are called after changes.
  • Remote Version Discovery - Fetches remote lists of available Python releases to identify valid versions for installation.
  • Environment and Package Management - Provides Python version management for Windows.

Star history

Star history chart for pyenv-win/pyenv-winStar history chart for pyenv-win/pyenv-win

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Pyenv Win

These projects share indexed features with Pyenv Win. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • rbenv/rbenvrbenv avatar

    rbenv/rbenv

    16,710View on GitHub↗

    rbenv is a Ruby version manager and shell environment manager designed to install, switch between, and manage multiple versions of the Ruby programming language. It functions as a project runtime isolator and an extensible versioning framework that ensures the correct Ruby binaries are executed based on the current context. The system uses a shim-based command interception model to resolve the active version before delegating execution to the binary. It allows for locking specific Ruby versions and environment variables to individual directories, ensuring project environment isolation. The ar

    Shellbashrubyruby-installation
    View on GitHub↗16,710
  • sstephenson/rbenvsstephenson avatar

    sstephenson/rbenv

    16,711View on GitHub↗

    rbenv is a Ruby version manager and shell shim environment manager. It allows for the installation of multiple Ruby versions on a single machine and coordinates the selection of the active version based on the current directory or shell session. The tool functions as an extensible command line framework that intercepts executable calls using shell shims. These shims route requests to the selected language version, ensuring environment isolation by storing binaries in independent directories. The system includes capabilities for language runtime administration, including the ability to downlo

    Shell
    View on GitHub↗16,711
  • yyuu/pyenvyyuu avatar

    yyuu/pyenv

    44,899View on GitHub↗

    pyenv is a Python version manager and runtime orchestrator that allows for the installation and switching of multiple Python versions on a single machine without affecting the system installation. It functions as a shell-based version controller that manages binaries through shims to redirect executable calls to specific versions. The tool is a plugin-extensible system, allowing users to add custom subcommands and logic via shell script plugins. This architecture enables the extension of the command line interface through a dedicated plugins directory. It provides capabilities for side-by-si

    Shell
    View on GitHub↗44,899
  • creationix/nvmcreationix avatar

    creationix/nvm

    93,948View on GitHub↗

    nvm is a Node.js version manager implemented as a POSIX bash script. It serves as a shell environment manager and runtime orchestrator for installing, switching, and managing multiple versions of the Node.js runtime on POSIX systems. The tool allows for the automation of runtime switching by reading configuration files in project directories to select the required version. It supports the management of long-term support releases and the migration of global packages between different installed versions of the runtime. The project covers broader capabilities including runtime management throug

    Shell
    View on GitHub↗93,948
Compare all 30 related projects→

Frequently asked questions

What does pyenv-win/pyenv-win do?

pyenv-win is a version manager for Windows that enables the installation and switching of multiple Python versions without affecting the system global installation. It functions as a multi-version installer and environment controller that ensures isolation and reproducibility across different projects.

What are the main features of pyenv-win/pyenv-win?

The main features of pyenv-win/pyenv-win are: Command Interception Shims, Python Version Managers, Development Environment Setups, Local Overrides, Runtime Version Switching, Multi-Version Installations, Python Runtime Managers, Directory-Based Version Resolution.

Which projects share features with pyenv-win/pyenv-win?

Projects with overlapping indexed features include: rbenv/rbenv — rbenv is a Ruby version manager and shell environment manager designed to install, switch between, and manage multiple… sstephenson/rbenv — rbenv is a Ruby version manager and shell shim environment manager. It allows for the installation of multiple Ruby… yyuu/pyenv — pyenv is a Python version manager and runtime orchestrator that allows for the installation and switching of multiple… creationix/nvm — nvm is a Node.js version manager implemented as a POSIX bash script. It serves as a shell environment manager and… version-fox/vfox — Vfox is a command-line utility designed to manage multiple programming language runtimes and development tools on a… moovweb/gvm — Gvm is a Go version manager, environment orchestrator, and dependency isolator. It provides a system for installing,…