Venvstarter
Program to bootstrap a virtualenv for your program!
Full documentation at http://venvstarter.readthedocs.io
Installation
venvstarter is python3 only and I recommend installing using pip:
$ python3 -m pip install venvstarter
Usage
This project exists to bootstrap an environment for a particular program.
For example running the harpoon project.
To run a version of harpoon, a file can be made that calls out to venvstarter
to manage a virtualenv with the correct version of harpoon and then call out
to the harpoon
script that is created.
An example layout would be:
project/
docker/
harpoon
harpoon.yml
...
Where project/docker/harpoon
is executable and contains:
#!/usr/bin/env python3
(__import__("venvstarter").manager("harpoon")
.add_dep("harpoon==0.16.1")
.min_python(3.7)
.env(HARPOON_CONFIG=("{venv_parent}", "harpoon.yml"))
.run()
)
And running:
> ./docker/harpoon list
Is equivalent to:
> python3 -m venv ./docker/.harpoon
> ./docker/.harpoon/bin/python -m pip install harpoon==0.16.1
> HARPOON_CONFIG=./docker/harpoon.yml ./docker/.harpoon/bin/harpoon list
If the virtualenv already exists then it doesn’t remake it. If the dependencies are already the correct version then pip is not used to install anything.