A lightweight Python virtual environment manager built in Go
I made this because Python venvs suck and hopefully this makes them easier to manage.
- Create Python virtual environments instantly.
- List existing environments along with their last modification dates.
- Activate environments seamlessly from your shell.
- Delete virtual environments easily.
- Automatic shell integration for effortless activation (
vengo activate myenv
).
go install github.com/glancing/vengo@latest
Make sure your Go bin directory ($HOME/go/bin
) is in your PATH
. If it's not, add this line to your shell config (~/.bashrc
or ~/.zshrc
export PATH=$PATH:$(go env GOPATH)/bin
Then reload your shell config:
source ~/.bashrc # or ~/.zshrc
vengo create myenv
vengo list
Example output:
📌 Your virtual environments:
- myenv (Last Modified: 2025-03-10 14:22:11)
- test (Last Modified: 2025-03-08 10:01:05)
Activate a virtual environment directly in your terminal:
vengo activate myenv
Your shell prompt will now indicate that myenv
is active.
To deactivate the environment, run:
deactivate
Safely remove an environment when it's no longer needed:
vengo delete myenv
Vengo automatically sets up shell integration when you first run it. It adds a function to your .bashrc
or .zshrc
, enabling seamless activation of environments.
If activation isn't working immediately after installation, reload your shell configuration:
source ~/.bashrc
# or
source ~/.zshrc
# Create and activate an environment
vengo create myenv
vengo activate myenv
# Install packages
pip install requests flask
# Deactivate the environment
deactivate
# Remove the environment when done
vengo delete myenv
vengo command not found
?
Check that$HOME/go/bin
is in your PATH.- Shell function not working?
Runsource ~/.bashrc
orsource ~/.zshrc
.
Issues, feature requests, and pull requests are welcome.
Please open an issue first to discuss changes.
Vengo is licensed under the MIT License.