🐟🐍 A Fish plugin that automatically activates the Pipenv subshell.
Switch branches/tags
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
conf.d Merge pull request #16 from Tyilo/auto-exit Mar 12, 2018
README.md docs: remove installation recommendation note Nov 5, 2018

README.md

fish-pipenv

Pipenv for the fish-shell.

Automatically activates your Pipenv shell when you cd into a directory containing a Pipenv project.

Basically, dope.

Installation

Using Fisher:

$ fisher add kennethreitz/fish-pipenv

Potential Issues

Mac OS

After installing pipenv, running the $ pipenv command may yield the following error Install http://docs.pipenv.org/en/latest/ to use this package.

Reason for the error

The problem is that, the pipenv package rightly could not find the pipenv command. The situation with fish shell is that it executes scripts in the /Users/user/.config/fish/config.d folder before executing config.fish and the pipenv package creates a link in the config.d folder hence it is executed before config.fish.

Now depending on how you installed pipenv or how soon your $PATH is loaded you could be faced with the above error.

Solutions

  1. You could install pipenv with the command $ pip3 install pipenv. Pipenv will then be installed in /usr/local/bin. On some systems the folder /usr/local/bin is added to $PATH by the system which means that it will be available before fish goes fishing for scripts in /Users/user/.config/fish/config.d

  2. Or you could create a file say 000-env.fish (or whatever you want to call it), and place it in /Users/user/.config/fish/config.d. In this file set the path to the folder where pipenv was installed. E.g if pipenv was installed via pipsi, then the command will be something like set -x PATH /Users/user/.local/bin $PATH

    If pipenv was installed via $ pip install pipenv, then note that pip (python2) now puts its executables in /usr/local/opt/python/libexec/bin.

    The 000 preface is to ensure that, that script will be executed first before the others in config.d. You don't have to prefix the file with 000 it is abitrary. Just give it a name that places it at the to of the pile.

See https://github.com/fisherman/pipenv/issues/1