SmartVenv is a smarter virtual environment and dependency management tool for Python, designed to simplify and enhance your development workflow. With a single command, you can create virtual environments, install dependencies, and ensure compatibility, all while keeping your projects isolated and clean.
- Single Command Installation: Automatically create and activate virtual environments, and install packages or dependencies from
requirements.txt
with just one command. - Dependency Resolution: Smartly resolve and install packages with correct versions to avoid conflicts and ensure compatibility.
- Lock Dependencies: Generate a lock file to freeze exact versions of installed packages for reproducible environments.
- Easy Management: List, update, and remove packages effortlessly.
- Cross-Platform: Works seamlessly on both Unix-like systems and Windows.
pip install smartvenv
brew tap roshanlam/smartvenv
brew install smartvenv
To create a virtual environment and install dependencies from a requirements.txt
file:
smartvenv -r requirements.txt
To install specific packages with dependency resolution:
smartvenv install requests flask
To install dependencies from requirements.txt
and additional packages:
smartvenv -r requirements.txt install requests flask
To list all installed packages in the virtual environment:
smartvenv list
To update all installed packages to their latest versions:
smartvenv update
To remove a specific package:
smartvenv remove --package requests
To clean up (delete) the virtual environment:
smartvenv clean
Here's an example of a typical workflow using SmartVenv:
-
Create and install dependencies from
requirements.txt
:smartvenv -r requirements.txt
-
Install additional packages:
smartvenv install django numpy
-
Generate a lock file:
smartvenv lock
-
List installed packages:
smartvenv list
-
Update all packages:
smartvenv update
-
Remove a specific package:
smartvenv remove --package flask
-
Clean up the virtual environment:
smartvenv clean