This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Florian.Dold
Recipients Florian.Dold
Date 2016-03-31.15:49:21
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
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, 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


or the 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/
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:21Florian.Doldsetrecipients: + Florian.Dold
2016-03-31 15:49:21Florian.Doldsetmessageid: <>
2016-03-31 15:49:21Florian.Doldlinkissue26677 messages
2016-03-31 15:49:21Florian.Doldcreate