fish 3.0 breaks how pipenv shell prepends python path
See original GitHub issueIssue description
I think this is new since I just updated fish shell and it was the first thing I noticed that was broken. The $PATH upon using pipenv shell seems to put previous $PATH then virtualenv path then $PATH again, but I am not entirely sure. I believe it used to be work fine out of the box with just prepending the virtualenv PATH to my $PATH but after my fish_user_path (which also was not preferable)
Expected result
Have pipenv prepend virtualenv to path in fish shell
Actual result
Has virtualenv python path in between two copies of $PATH for some reason
Steps to replicate
Update to fish 3.0
Other:
Yeah I rolled back fish to 2.7.1 (if anyone has this issue, try brew switch fish 2.7.1
) and seems to work. Think its specific to pipenv prepending to path. Also have issues with pipenv prepending to $PATH after $PATH but before the $fish_user_paths stuff so maybe could be done as one fix?
Issue Analytics
- State:
- Created 5 years ago
- Reactions:7
- Comments:8 (3 by maintainers)
For anyone that finds this issue.
This will install version 2.7.1 of fish.
i know this is closed but it still seems quite broken for me at the least and only related to
pipenv shell
with fish 3.0.Using
source /Users/graham/.local/share/virtualenvs/example_virtual_env/bin/activate.fish
works (it places the virtualenv python path in front of everything for my path where as usingpipenv shell
places the virtualenv python path after everything but before $fish_user_pathsI don’t think this is a fish problem as I am using a fresh install and have nothing impacting my path besides stuff in /etc/paths
Edit: Weird. Probably I was wrong. Was writing a function to just source the file for me and testing something out and it magically started working. For anyone having an issue, try changing fish from login to interactive then back to login or leave as interactive?
Otherwise can try something like this (but it doesn’t launch in subshell)