Message262696
When sourcing the activate script from bash, $PATH is restored from
$_OLD_VIRTUAL_PATH. If bash was invoked from fish (e.g. when running a shell script), and a virtualenv was activated from fish via activate.fish, the
$_OLD_VIRTUAL_PATH will contain path separated by the ascii record separator char (chr(30)), since this is how the fish shell stores arrays.
But the activate script for bash will then set $PATH to $_OLD_VIRTUAL_PATH, which breaks most bash scripts.
Instead the activate scripts should differentiate between
$_OLD_BASH_VIRTUAL_PATH
and
$_OLD_FISH_VIRTUAL_PATH
or the activate.fish should take care to replace chr(30) with colons before it sets $_OLD_VIRTUAL_PATH.
bash$ pyvenv my-venv
bash$ fish
fish$ . my-venv/bin/activate.fish
fish$ bash
bash$ . my-venv/bin/activate
# $PATH is now broken, since it contains record separators instead of colons to separate paths |
|
Date |
User |
Action |
Args |
2016-03-31 15:49:21 | Florian.Dold | set | recipients:
+ Florian.Dold |
2016-03-31 15:49:21 | Florian.Dold | set | messageid: <1459439361.75.0.379052301641.issue26677@psf.upfronthosting.co.za> |
2016-03-31 15:49:21 | Florian.Dold | link | issue26677 messages |
2016-03-31 15:49:21 | Florian.Dold | create | |
|