Changes for page VirtualEnv
Last modified by David De La Harpe Golden on 2026/05/17 17:37
From version
2.1
edited by David De La Harpe Golden
on 2026/05/17 16:11
on 2026/05/17 16:11
Change comment:
There is no comment for this version
To version
8.1
edited by David De La Harpe Golden
on 2026/05/17 16:17
on 2026/05/17 16:17
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Content
-
... ... @@ -7,9 +7,14 @@ 7 7 ...since virtualenv is now in the python stdlib, I have lately pared it down to two little helpers 8 8 9 9 * ##mkve## - makes a new basic virtualenv. 10 -* ##ve## - launches a subshell with the virtualenv active - in contrast to the weird way official activate does it your_current_shell i.e like vex but less fancy.10 +* ##ve## - launches a subshell with the virtualenv active - in contrast to the weird way official activate does within the current shell i.e like ##vex## but less fancy. 11 11 12 12 {{code language="bash"}} 13 +$ mkve BlahVenv 14 +$ ve BlahVenv 15 +$ pip install av 16 +$ exit 17 +{{/code}} 13 13 14 14 15 15 == mkve == ... ... @@ -16,6 +16,8 @@ 16 16 17 17 {{code language="bash"}} 18 18 #!/bin/bash 24 +# make a new python venv: 25 +# mkve SomeVenv 19 19 20 20 if [ -e "$1" ] ; then 21 21 echo >&2 "Already exists. Use python -m venv ... directly for complex args." ... ... @@ -22,12 +22,17 @@ 22 22 else 23 23 exec python -m venv "$1" 24 24 fi 25 -{{code}} 26 26 33 +{{/code}} 34 + 35 + 27 27 == ve == 28 28 29 29 {{code language="bash"}} 39 + 30 30 #!/bin/bash 41 +# use an existing python venv in a subshell, exit to exit: 42 +# ve SomeVenv 31 31 32 32 if [ -f "$1/bin/activate" ]; then 33 33 exec bash --rcfile <(cat ~/.bashrc $1/bin/activate) ... ... @@ -34,7 +34,19 @@ 34 34 else 35 35 echo >&2 "Missing Python Virtual Env (should have venv/bin/activate script)" 36 36 fi 37 -{{code}} 38 38 50 +{{/code}} 39 39 40 40 53 +== Shell Prompt == 54 + 55 +I have a fancy non-default prompt in my ##~/.bashrc## that shows a little snake if in a python vm 56 + 57 +{{code language="bash"}} 58 +# venvs themselves prefix these days, new ones created by stdlib honor this disable, allowing us to customize 59 +export VIRTUAL_ENV_DISABLE_PROMPT=1 60 +PS1='${debian_chroot:+\[\033[01;33m\]🌲($debian_chroot)\[\033[00m\]}${VIRTUAL_ENV:+\[\033[01;36m\]🐍($(basename $VIRTUAL_ENV))\[\033[00m\]}\[\033[38;5;108m\]\u@\h\[\033[38;5;128m\]:\[\033[38;5;139m\]\w\[\033[38;5;129m\]\$\[\033[00m\] ' 61 +{{/code}} 62 + 63 + 64 +