home: direnv: add 'python' library file
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
19aabcf6f5
commit
d118351849
25
home/direnv/lib/python.sh
Normal file
25
home/direnv/lib/python.sh
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
#shellcheck shell=bash
|
||||||
|
|
||||||
|
layout_poetry() {
|
||||||
|
if ! has poetry; then
|
||||||
|
# shellcheck disable=2016
|
||||||
|
log_error 'layout_poetry: `poetry` is not in PATH'
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -f pyproject.toml ]]; then
|
||||||
|
# shellcheck disable=2016
|
||||||
|
log_error 'layout_poetry: no pyproject.toml found. Use `poetry new` or `poetry init` to create one first'
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# create venv if it doesn't exist
|
||||||
|
poetry run true
|
||||||
|
|
||||||
|
# shellcheck disable=2155
|
||||||
|
export VIRTUAL_ENV=$(poetry env info --path)
|
||||||
|
export POETRY_ACTIVE=1
|
||||||
|
PATH_add "$VIRTUAL_ENV/bin"
|
||||||
|
watch_file pyproject.toml
|
||||||
|
watch_file poetry.lock
|
||||||
|
}
|
Loading…
Reference in a new issue