Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sentriz/fish-pipenv
🐟🐍 a fish plugin that automatically activates the pipenv subshell
https://github.com/sentriz/fish-pipenv
fish-shell fisher pipenv python virtualenv
Last synced: 3 days ago
JSON representation
🐟🐍 a fish plugin that automatically activates the pipenv subshell
- Host: GitHub
- URL: https://github.com/sentriz/fish-pipenv
- Owner: sentriz
- License: mit
- Created: 2017-08-28T01:15:31.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-04-19T01:25:42.000Z (over 2 years ago)
- Last Synced: 2024-10-23T00:39:12.507Z (12 days ago)
- Topics: fish-shell, fisher, pipenv, python, virtualenv
- Language: Shell
- Homepage: http://pipenv.org
- Size: 42 KB
- Stars: 201
- Watchers: 18
- Forks: 28
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
![](https://i.imgur.com/BALScDM.png)
hooks into a change in
PWD
to automatically launch a Pipenv shell for your Pipenv projectnote: this project was previously maintained by @kennethreitz
## Installation
### With [Fisher](https://github.com/jorgebucaran/fisher)
```console
fisher install sentriz/fish-pipenv
```### With [Fundle](https://github.com/danhper/fundle)
Add:
```fish
fundle plugin "sentriz/fish-pipenv"
```to your `config.fish` (create one if it doesn't exist), reload your shell and run:
```console
fundle install
```### With [Oh My Fish](https://github.com/oh-my-fish/oh-my-fish)
```console
omf install https://github.com/sentriz/fish-pipenv
```## Configuration options
Suitable for your `~/.config/fish/config.fish`
```fish
# set if your term supports `pipenv shell --fancy`
set pipenv_fish_fancy yes
```## 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 top of the
pile.3. Or assuming you also have [fish-pyenv](https://github.com/daenney/pyenv) you can add a universal variable to
your `fish_user_paths` following
[mhugbin](https://github.com/kennethreitz/fish-pipenv/issues/1#issuecomment-385206132):```fish
set -U fish_user_paths ~/.pyenv/shims $fish_user_paths
```See https://github.com/sentriz/fish-pipenv/issues/1
## License
[MIT](LICENSE.md)