How to get virtualenv to work with fish shell

You can also use this : https://github.com/adambrenecki/virtualfish

It allows you to activate a virtualenv by typing this :

vf activate <my_env>

For virtualenv, fish has a separate activation file in the in the bin directory with .fish extension.

So you will have to do:

$ source ~/path/to/bin/activate.fish


You don't need to activate to use virtualenv it is a convenience. You can just use the virtualenv directly:

virtualenv venv
./venv/bin/pip install foo

Have you tried from fish using:

. venv/bin/activate.fish

It probably isn't as widely used as bash so may have issues - looking at the commit history shows a recent fix:

https://github.com/pypa/virtualenv/blob/master/virtualenv_embedded/activate.fish