A powerful CLI tool for managing Python virtual environments with ease.
- Create and manage environments
- List all environments
- Install packages and track dependencies
- Clone environments
- Upgrade packages globally or per environment
- Clean cache and temporary files
- Smart environment activation
- Shell completion for bash, zsh, fish, and powershell
- Size check for environments
| Feature | venv-manager | virtualenv | pyenv-virtualenv | Poetry | Pipenv |
|---|---|---|---|---|---|
| Create and manage environments | ✅ | ✅ | ✅ | ✅ | ✅ |
| List all environments | ✅ | ❌ | ❌ | ❌ | ❌ |
| Install packages and track dependencies | ✅ | ❌ | ❌ | ✅ | ✅ |
| Clone environments | ✅ | ❌ | ❌ | ✅ | ❌ |
| Upgrade packages globally or per environment | ✅ | ❌ | ❌ | ✅ | ✅ |
| Clean cache and temporary files | ✅ | ❌ | ❌ | ✅ | ❌ |
| Shell completion | ✅ | ❌ | ❌ | ✅ | ❌ |
curl -sSL https://raw.githubusercontent.com/jacopobonomi/venv_manager/main/install.sh | bash# Clone repository
git clone https://github.com/jacopobonomi/venv_manager
cd venv_manager
# Install
make install# Create environment (python-version is optional)
venv-manager create myenv [python-version]
# Activate
eval "$(venv-manager activate myenv)"
# Install packages
venv-manager install myenv requirements.txt
# List packages
venv-manager packages myenv
# Upgrade all packages
venv-manager upgrade myenv
# Check environment size
venv-manager size myenv
# Check all environments size
venv-manager size --global
# Global operations
venv-manager --global clean
# Enable shell completion (bash example)
source <(venv-manager completion bash)| Command | Description |
|---|---|
create <n> [version] |
Create new environment |
activate <n> |
Activate environment |
deactivate |
Deactivate current environment |
list |
Show all environments |
remove <n> |
Delete environment |
clone <src> <dst> |
Clone environment |
packages <n> |
List installed packages |
install <n> <reqs> |
Install requirements |
upgrade <n> |
Upgrade packages |
clean <n> |
Clean cache files |
size <n> |
Check environment size |
| `completion [bash | zsh |
Requirements:
- Go 1.21+
- Python 3.x
- Fork the repository
- Create feature branch
- Commit changes
- Open pull request
MIT License - See LICENSE file
