diff options
| author | jason | 2020-04-20 20:01:47 -0600 |
|---|---|---|
| committer | jason | 2020-04-20 20:01:47 -0600 |
| commit | 183c4c6e54df0b0611e0af63ba2b5e4d8b3e1fbe (patch) | |
| tree | 565be4f2d783b69bcf46379710d43a79ad12661d /direnv | |
| parent | c1a3f4ce19aca64e85a34e11a73fedbfbb0bc426 (diff) | |
| download | dotfiles-183c4c6e54df0b0611e0af63ba2b5e4d8b3e1fbe.tar.gz dotfiles-183c4c6e54df0b0611e0af63ba2b5e4d8b3e1fbe.zip | |
add direnv config for python venv
Diffstat (limited to 'direnv')
| -rw-r--r-- | direnv/.config/direnv/direnvrc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/direnv/.config/direnv/direnvrc b/direnv/.config/direnv/direnvrc new file mode 100644 index 0000000..12c46e0 --- /dev/null +++ b/direnv/.config/direnv/direnvrc | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | realpath() { | ||
| 2 | [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}" | ||
| 3 | } | ||
| 4 | layout_python-venv() { | ||
| 5 | local python=${1:-python3} | ||
| 6 | [[ $# -gt 0 ]] && shift | ||
| 7 | unset PYTHONHOME | ||
| 8 | if [[ -n $VIRTUAL_ENV ]]; then | ||
| 9 | VIRTUAL_ENV=$(realpath "${VIRTUAL_ENV}") | ||
| 10 | else | ||
| 11 | local python_version | ||
| 12 | python_version=$("$python" -c "import platform; print(platform.python_version())") | ||
| 13 | if [[ -z $python_version ]]; then | ||
| 14 | log_error "Could not detect Python version" | ||
| 15 | return 1 | ||
| 16 | fi | ||
| 17 | VIRTUAL_ENV=$PWD/.direnv/python-venv-$python_version | ||
| 18 | fi | ||
| 19 | export VIRTUAL_ENV | ||
| 20 | if [[ ! -d $VIRTUAL_ENV ]]; then | ||
| 21 | log_status "no venv found; creating $VIRTUAL_ENV" | ||
| 22 | "$python" -m venv "$VIRTUAL_ENV" | ||
| 23 | fi | ||
| 24 | PATH_add "$VIRTUAL_ENV/bin" | ||
| 25 | } | ||