Changes for page VirtualEnv

Last modified by David De La Harpe Golden on 2026/05/17 17:37

From version 5.1
edited by David De La Harpe Golden
on 2026/05/17 16:14
Change comment: There is no comment for this version
To version 14.1
edited by David De La Harpe Golden
on 2026/05/17 16:32
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -2,12 +2,12 @@
2 2  
3 3  * [[vex>>https://pypi.org/project/vex/]]
4 4  * [[virtualenvwrapper>>https://pypi.org/project/virtualenvwrapper/]]
5 -* [[virtualenvwrapper-win>>https://pypi.org/project/virtualenvwrapper-win/]]
5 +* [[virtualenvwrapper-win>>https://pypi.org/project/virtualenvwrapper-win/]] (if on windows)
6 6  
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 virtualenv ##activate## does within the current shell session i.e ##ve## is like ##vex## but less fancy.
11 11  
12 12  {{code language="bash"}}
13 13  $ mkve BlahVenv
... ... @@ -21,6 +21,8 @@
21 21  
22 22  {{code language="bash"}}
23 23  #!/bin/bash
24 +# make a new python venv:
25 +# mkve SomeVenv
24 24  
25 25  if [ -e "$1" ] ; then
26 26   echo >&2 "Already exists. Use python -m venv ... directly for complex args."
... ... @@ -36,6 +36,8 @@
36 36  {{code language="bash"}}
37 37  
38 38  #!/bin/bash
41 +# use an existing python venv in a subshell, exit to exit:
42 +# ve SomeVenv
39 39  
40 40  if [ -f "$1/bin/activate" ]; then
41 41   exec bash --rcfile <(cat ~/.bashrc $1/bin/activate)
... ... @@ -46,4 +46,15 @@
46 46  {{/code}}
47 47  
48 48  
53 +== Shell Prompt ==
49 49  
55 +I have a fancy non-default prompt in my ##.bashrc## that shows a little snake if in a python virtualenv
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 +