pipenv command now prompts me to install latest to use plugin
Pilgrim1379 opened this issue ยท 8 comments
I've just upgraded to the latest pipenv plugin for fish shell. Since the upgrade all pipenv commands prompt me with the following
Install http://docs.pipenv.org/en/latest/ to use this plugin.
I already have pipenv installed to the latest. The output of command -s pipenv
is /Users/napo/.pyenv/shims/pipenv
As it stands, I can't use pipenv.
I'm not sure why you're getting this error.
So I uninstalled the fish plugin with fisher rm pipenv
, restarted the shell and tried a few pipenv commands and they all worked.
I installed the fish plugin again with fisher install pipenv
and tried the same commands again and they all failed giving me the same Install http://docs.pipenv.org/en/latest/ to use this plugin.
message.
It appears that for some reason the plugin is interpreting the results of command -s pipenv
as pipenv is not installed.
Closing issue as recommended solution is now available in the Readme.
โจ๐ฐโจ
Solution in the README didn't work for me. For starters, I didn't even have a ~/.config/fish/config.d directory so the plugin wasn't installing anything there. I created it anyway along with a script to set the path to my Python installation (conda) and that didn't make this problem go away.
I'm still having this issue as well. Solutions in README don't work and don't acknowledge that the issue exists on platforms outside of MacOS. I'm being prompted to install the latest version, in spite of pipenv being installed with --user using global python version as well as being installed within the virtualenv (via pyenv) that I'm using. This is on a VPS running Ubuntu 16.04, btw.
I wanna add, that this issue seems to be the default state, if you manage you python installations with pyenv and install the pyenv
and pipenv
fisherman plugins, since conf.d/pipenv.fish
is evaluated before conf.d/pyenv
.
$ tree .config/fish
...
โโโ conf.d
โ โโโ pipenv.fish -> /Users/markus/.config/fisherman/pipenv/conf.d/pipenv.fish
โ โโโ pyenv.fish -> /Users/markus/.config/fisherman/pyenv/conf.d/pyenv.fish
...
If I change the ordering like so, the issue is gone.
...
โโโ conf.d
โ โโโ 01_pyenv.fish -> /Users/markus/.config/fisherman/pyenv/conf.d/pyenv.fish
โ โโโ 02_pipenv.fish -> /Users/markus/.config/fisherman/pipenv/conf.d/pipenv.fish
...
An even better way to fix this issue may be the use of the universal variablefish_user_paths
, like so:
set -U fish_user_paths ~/.pyenv/shims $fish_user_paths
The fish_user_paths
is automatically prepended to $PATH, see https://fishshell.com/docs/current/tutorial.html#tut_path for details.