Skip to main content

Tool to manage your virtualenvs

Project description

# 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

virtualenv-mgr-1.0.4.tar.gz (7.5 kB view details)

Uploaded Source

File details

Details for the file virtualenv-mgr-1.0.4.tar.gz.

File metadata

File hashes

Hashes for virtualenv-mgr-1.0.4.tar.gz
Algorithm Hash digest
SHA256 4c03966e8cd7bbf7680ed04ef17418046e81bf1a9b5efe5c4367cd7889698ffa
MD5 e87796becded3dd3965e482fd06d79f7
BLAKE2b-256 6606e7386ae39d3aaa320d0294e12f1caadf7cac86814935670868c7f991ae3d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page