Skip to main content
# virtualenv-mgr

[virtualenv-mgr](https://github.com/arteria/virtualenv-mgr) is a tool to manage multiple [virtualenv](http://www.virtualenv.org/)s at once.

Use a file with paths to the root of multiple virtualenvs to perform operations in all of them at the same time.

## Features

* Install, uninstall or upgrade specific packages in all virtualenvs at once.
* Print statistic, a histogram, about the usage of packages over all environments.
* Find/list virtualenvs for further processing, eg. as input for virtualenv-mgr
* Find all envs having a package installed

## Table of contents

* [Installation](#installation)
* [Usage](#usage)
* [Find environments](#find-environments-with--z--envfreeze)
* [Define environments](#define-environments)
* [Actions](#actions)
* [pip-options](#pip-option)
* [Diff](#env-diff)
* [pip-histo](#pip-histo)
* [Help](#help)
* [supported-platforms](#supported-platforms)


## Installation

pip install virtualenv-mgr


## Usage

### Find environments with -z/--envfreeze

Find all virtualenvs ar your current location / subdictionarys (look for the '/bin/activate' pattern)

virtualenv-mgr --envfreeze
virtualenv-mgr -z

Define a searchroot, where the scrip should search in:

virtualenv-mgr --envfreeze --searchroot /Users/name/workspace/2014
virtualenv-mgr -zs /Users/name/workspace/2014

Save the paths to a file which you can use later.

virtualenv-mgr -zs /Users/name/workspace/2014 > example-env-file.txt

### Define Environments

Environments from a list:

virtualenv-mgr example-env-file.txt

Or input over a pipe:

virtualenv-mgr --envfreeze | virtualenv-mgr

No arguments --> active virtualenv

virtualenv-mgr

### Actions

Install a package / multiple packages

virtualenv-mgr example-env-file.txt -i "django==1.4.16,djangotransmeta"

Uninstall a package / multiple packages

virtualenv-mgr example-env-file.txt -u "django==1.4.16"

Find packages / multiple packages (can look for exact packages '==' or if the package is installed)

virtualenv-mgr example-env-file.txt -f "django==1.4.6"

Install or Uninstall packages in envs where certain other packages are installed.

virtualenv-mgr example-env-file.txt -f "django==1.4.12" -i "django==1.4.16" -u "django-transmeta"

All virtual-environments which have installed django==1.4.12 will install django==1.4.16 and uninstall django-transmeta.

#### Pip Option

pipoption allows you to add options to the pip commands ( install / uninstall ) , use the ',' to separate multiple commands

virtualenv-mgr example-env-file.txt -i django==1.4.18 -o='--index-url=http://pypi.example.com/pypi,--extra-index-url=http://pypi.python.org/simple'


### Env Diff

You can print table that displays the differences of the installed packages in multiple virtualenvs (-d, --diff)

virtualenv-mgr compare-envs.txt -d

Filter: Apps that are not installed on all virtualenvs (-n, --notinstalled, -dn)

virtualenv-mgr compare-envs.txt -n

Filter: Apps that dont have the same version in all virtualenvs (-a, -versiondiff, -da)

virtualenv-mgr compare-envs.txt -a

Combine (-an , -dna)

virtualenv-mgr compare-envs.txt -na

*Neglects eggs*


### Pip Histo

print the pip histo (overview over all installed packages) (-p,--piphisto)

virtualenv-mgr example-env-file.txt -p

Distinguishes between different versions (-v,-version ; -pv)

virtualenv-mgr example-env-file.txt -v

Take eggs into the histo (-e,-egg ; -pe)

virtualenv-mgr example-env-file.txt -e

Combine (-ve, -pve)

virtualenv-mgr example-env-file.txt -ve


## Help

Envfreeze:
* `-z, --envfreeze` prints all the envs on .
* `-s SEARCHROOT, --searchroot SEARCHROOT` path for envfreeze, where to search

Actions
* `-f FIND, --find FIND` find app, use commas to search for more
* `-i INSTALL, --install INSTALL` installes an app, use commas to add more
* `-u UNINSTALL, --uninstall UNINSTALL` uninstalles an app, use commas to add more

Pip Option
* `-o, --pipoption` allows you to add options to the pip command(-i/--install and -u/--uninstall)

Env Diff
* `-d, --diff` commpares the packages installed in envs
* `-n, --notinstalled` lists apps that are not installed on all envs
* `-a, --versiondiff` lists apps that dont have the same version number on all envs

Pip Histo
* `-p, --piphisto` pip histogram
* `-e, --egg ` pip histogram takes eggs into consideration
* `-v, --version` pip histogram takes versions into consideration


## Supported platforms

* OS X
* Linux/UNIX

Windows support was not tested yet. Please feel free to contribute.

Metadata

Release files for virtualenv-mgr 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for virtualenv-mgr 1.0.4
File Size Uploaded
virtualenv-mgr-1.0.4.tar.gz 7.5 kB Details

Release files / virtualenv-mgr-1.0.4.tar.gz

Download URL virtualenv-mgr-1.0.4.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
4c03966e8cd7bbf7680ed04ef17418046e81bf1a9b5efe5c4367cd7889698ffa
BLAKE2b-256 checksum
How to use checksums
6606e7386ae39d3aaa320d0294e12f1caadf7cac86814935670868c7f991ae3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.4 This release

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page