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
P

pyenv/pyenv-virtualenv

0
View on GitHub↗
6,733 stars·428 forks·Shell·MIT·19 views

Pyenv Virtualenv

pyenv-virtualenv is a plugin for pyenv that creates and manages isolated Python virtual environments on Unix-like systems. It functions as an environment orchestrator that extends the core version switching system to provide project isolation.

The tool automates the activation and switching of Python environments based on the current working directory. It also includes a bridge for managing and interacting with Conda environments through the pyenv interface.

The project covers the full lifecycle of environment management, including the creation, listing, and deletion of isolated environments. It handles the activation of these environments to ensure library versions remain separate for different applications.

Features

  • Python Environment Managers - Creates and organizes isolated Python environments to prevent dependency conflicts between projects.
  • Command Interception Shims - Uses proxy shims to intercept command calls and route them to the correct virtual environment binary.
  • Environment Activation - Enables manual or automatic switching to specific Python environments via configuration files.
  • Directory-Based Activation - Automatically updates system paths and environment variables based on the current working directory.
  • Virtual Environment Managers - Functions as a plugin for pyenv to create and manage isolated Python virtual environments.
  • Runtime Dependency Isolation - Keeps library versions separate for each application to ensure consistent behavior across development and production.
  • Directory-Based Environment Switching - Automatically switches the active Python environment when entering a specific project directory.
  • Virtual Environment Isolation - Creates isolated execution spaces based on specific Python versions to prevent dependency conflicts.
  • Conda - Provides a unified interface to manage and switch between Conda environments.
  • Python Version Managers - Adds virtual environment lifecycle management to the pyenv version switching system.
  • Hook-Based Plugin Systems - Extends core version management by hooking into the existing command dispatch system.
  • Virtual Environments - Plugin for managing virtual environments within version managers.

Star history

Star history chart for pyenv/pyenv-virtualenvStar history chart for pyenv/pyenv-virtualenv

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. 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

Open-source alternatives to Pyenv Virtualenv

Similar open-source projects, ranked by how many features they share with Pyenv Virtualenv.
  • python-poetry/poetrypython-poetry avatar

    python-poetry/poetry

    34,282View on GitHub↗

    Poetry is a comprehensive dependency manager and packaging tool for Python projects. It functions as a configuration engine that resolves complex dependency graphs, manages isolated virtual environments, and ensures reproducible builds through deterministic lock file generation. By centralizing project metadata and build requirements into a single configuration file, it provides a unified workflow for managing the entire lifecycle of a Python codebase. The project distinguishes itself through its constraint-based solver, which evaluates environment markers and version requirements to maintain

    Pythondependency-managerpackage-managerpackaging
    View on GitHub↗34,282
  • pypa/hatchpypa avatar

    pypa/hatch

    7,182View on GitHub↗

    Hatch is a unified tool for managing Python environments, building packages, scaffolding projects, and installing Python versions. It provides a single command-line interface for automating common development workflows, including running scripts, tests, and static analysis with automatic dependency resolution and configuration. The tool manages project settings, dependencies, and build instructions through a declarative TOML configuration file, ensuring reproducibility across environments. It creates and manages isolated virtual environments across all major shells, installs and manages multi

    Pythonbuildclipackaging
    View on GitHub↗7,182
  • pypa/pipenvpypa avatar

    pypa/pipenv

    25,066View on GitHub↗

    Pipenv is a Python dependency manager and virtual environment manager that ensures reproducible environments across different systems. It functions as a lockfile resolver, generating deterministic lockfiles from high-level dependency constraints to prevent version drift. The tool integrates project workflow automation by loading environment variables and executing custom project scripts. It also includes security auditing capabilities to scan installed packages for known vulnerabilities. The system covers a broad range of capabilities including dependency version locking, package installatio

    Python
    View on GitHub↗25,066
  • astral-sh/ryeastral-sh avatar

    astral-sh/rye

    14,209View on GitHub↗

    Rye is a comprehensive Python toolchain manager, package manager, and virtual environment orchestrator. It provides a unified system for installing Python runtimes, resolving dependencies, and coordinating isolated environments across different projects. The project distinguishes itself through workspace management capabilities that coordinate dependencies and builds across multiple libraries within a single multi-package project structure. It further enables the global installation of Python tools into sandboxed environments, making them accessible system-wide without manual environment acti

    Rustpackage-managerpackagingpython
    View on GitHub↗14,209
See all 30 alternatives to Pyenv Virtualenv→

Frequently asked questions

What does pyenv/pyenv-virtualenv do?

pyenv-virtualenv is a plugin for pyenv that creates and manages isolated Python virtual environments on Unix-like systems. It functions as an environment orchestrator that extends the core version switching system to provide project isolation.

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

The main features of pyenv/pyenv-virtualenv are: Python Environment Managers, Command Interception Shims, Environment Activation, Directory-Based Activation, Virtual Environment Managers, Runtime Dependency Isolation, Directory-Based Environment Switching, Virtual Environment Isolation.

What are some open-source alternatives to pyenv/pyenv-virtualenv?

Open-source alternatives to pyenv/pyenv-virtualenv include: python-poetry/poetry — Poetry is a comprehensive dependency manager and packaging tool for Python projects. It functions as a configuration… pypa/hatch — Hatch is a unified tool for managing Python environments, building packages, scaffolding projects, and installing… pypa/pipenv — Pipenv is a Python dependency manager and virtual environment manager that ensures reproducible environments across… astral-sh/rye — Rye is a comprehensive Python toolchain manager, package manager, and virtual environment orchestrator. It provides a… donnemartin/dev-setup — This project is a collection of scripts and configuration files designed to automate the deployment of developer… homebrew/legacy-homebrew — This project is a command line package manager and dependency management engine used for installing, updating, and…