2022-12-19 23:10:53 -06:00
|
|
|
# Viv isn't venv
|
2022-12-19 23:17:43 -06:00
|
|
|
|
|
|
|
## Setup
|
2022-12-20 10:21:42 -06:00
|
|
|
|
|
|
|
Start by cloning the repo and symlinking the script for access to the CLI.
|
2022-12-20 12:40:54 -06:00
|
|
|
By default it will symlink `./src/viv/viv.py` to `~/bin/viv`.
|
2022-12-20 10:21:42 -06:00
|
|
|
You can set `PREFIX` to symlink to a different location.
|
|
|
|
|
|
|
|
```sh
|
|
|
|
git clone git@github.com:daylinmorgan/viv.git ~/.viv
|
|
|
|
make install # or PREFIX=~/.local/bin make install
|
|
|
|
```
|
|
|
|
|
2022-12-19 23:17:43 -06:00
|
|
|
Place this directory on the python path in your rc file.
|
|
|
|
|
|
|
|
```sh
|
|
|
|
export PYTHONPATH="$PYTHONPATH:$HOME/.viv/src"
|
|
|
|
```
|
|
|
|
|
|
|
|
Then in any python script with external dependencies you can add this line.
|
|
|
|
|
|
|
|
```python
|
|
|
|
__import__("viv").activate("click")
|
|
|
|
```
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
To temove all viv venvs:
|
|
|
|
```sh
|
|
|
|
viv remove $(viv list -q)
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## TODO
|
|
|
|
- [ ] add doc strings to `src/viv.py`
|
|
|
|
- [ ] use config file (probably ini or json / could also allow toml for python>=3.11)
|
|
|
|
- [ ] enable a garbage collection based on time or file existence (configurable)
|
|
|
|
- [ ] unit tests
|
|
|
|
|
|
|
|
## Alternatives
|
|
|
|
|
|
|
|
- `pipx`
|
|
|
|
- `pip-run`
|