pyenv/pyenv-virtualenvwrapper — explained in plain English
Analysis updated 2026-07-13 · repo last pushed 2017-08-20
Keep virtualenvwrapper in sync when switching Python versions with pyenv.
Maintain isolated environments for legacy and modern Python projects side by side.
Auto-install virtualenvwrapper if it is missing on your system.
Use Python 3's built-in venv instead of the older virtualenv tool.
| pyenv/pyenv-virtualenvwrapper | pyenv/pyenv-update | thananon/9arm-skills | |
|---|---|---|---|
| Stars | 678 | 383 | 1,133 |
| Language | Shell | Shell | Shell |
| Last pushed | 2017-08-20 | 2026-01-10 | — |
| Maintenance | Dormant | Quiet | — |
| Setup difficulty | easy | easy | easy |
| Complexity | 2/5 | 1/5 | 1/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires both pyenv and virtualenvwrapper to already be installed and configured on your system.
Python developers often need isolated environments for different projects, so that each one can have its own set of libraries without causing conflicts. A popular tool for managing these environments is called virtualenvwrapper. If you also use pyenv, a tool for installing and switching between multiple versions of Python itself, getting virtualenvwrapper to play nicely with your active Python version can be tricky. The pyenv-virtualenvwrapper plugin solves this by bridging the two tools together. When you install this plugin, it provides a single command that initializes virtualenvwrapper to use whatever Python version you currently have selected in pyenv. Without it, virtualenvwrapper might try to use the wrong Python installation, leading to broken environments. By running the plugin's setup command, the two systems stay in sync, and the plugin will even install virtualenvwrapper for you if it's missing. You can also configure it to use Python 3's built-in environment creator instead of the older virtualenv tool, if you prefer. This tool is for developers who already use both pyenv and virtualenvwrapper in their daily workflow. For example, if you maintain an older project that requires Python 2.7 and a newer project that requires Python 3.9, you would use pyenv to switch your active Python version, then use this plugin to ensure your isolated environments are created under the correct version. It is essentially a compatibility layer for people who like the virtualenvwrapper workflow but also want the flexibility of managing multiple Python versions. The README notes that there is a sibling project, pyenv-virtualenv, which takes a different, more integrated approach. That alternative treats isolated environments as first-class versions within pyenv itself, allowing you to activate and deactivate them directly. This plugin, by contrast, keeps the two tools separate but ensures they communicate properly. The distinction matters if you have a strong preference for the traditional virtualenvwrapper commands and habits.
A plugin that makes pyenv and virtualenvwrapper work together, so your isolated Python environments always use the pyenv-selected Python version without conflicts.
Mainly Shell. The stack also includes Shell, pyenv, virtualenvwrapper.
Dormant — no commits in 2+ years (last push 2017-08-20).
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.