justinmayer/virtualfish

Improve docs for systems without a interpreter linked to `python`

Jeroendevr opened this issue · 2 comments

  • [ x] I have searched the issues (including closed ones) and believe that this is not a duplicate.

Issue

The installation instructions assume that the user has an interpreter or path linked to python which is not the case any more on newer macOS systems like macOS Ventura. Therefore to ease installation on these systems I think the installation instructions could be a little bit more clear as my first guess how to handle it on the new systems didn't work.

Steps that I took before installing Virtual Fish

  • Install Homebrew
    • Install Fish
    • Install Pyenv
  • install apple Xcode command line tools

Installation steps Virtual Fish

As suggested by the docs

  • python -m pip install --user virtualfish -> not possible result : fish: Unknown command: python
    Knowing that python is sometimes linked to python2 and not 3
  • python3 -m pip install --user virtualfish -> installation succesfull
  • vf install -> fish: Unknown command: vf

My opinion is that an improvement can be made to the docs, do you agree ? Or should the user be aware of installing using venv or something similar?

Docs

So given this information where should virtual fish ideally been installed? I have seen the brew python being used or should the user create a symlink between python and python3? Or should it be installed in each virtual environment?

Hi @Jeroendevr. I wish that this were simpler, but sadly it is not.

I do not have any systems running MacOS 13 (Ventura), so I can't easily test that environment at the moment. Similarly, I use asdf instead of Pyenv, so I don't know much about the latter. If you are interested in how I set up my environment, please have a look at my article about Python Development on MacOS.

I think it's silly that installing the Command-Line Tools (CLT) does not put a python executable on $PATH, but if that is indeed Apple's design decision, then it is an unfortunate one. In terms of documentation, I don't know how much I want to work around this bad decision.

Regarding the "unknown command" error, I suspect that python3 -m pip install --user […] is installing into a directory that is not on your $PATH, such as ~/.local/bin. Pip is supposed to issue a warning when that happens, but I don't know whether you saw such a warning.

In short, I imagine that some documentation improvements could be made, but given the variety of operating systems and methods of installing Python, it is difficult to generalize in a way that is broadly useful.

Thanks for your reply and consideration.
I think python was added by Apple on $PATH when python 2 was shipped with macOS, currently not anymore. Perhaps because of compatibility reasons? Dunno.
Is a example installation something that could be added, or would this just lead to more confusion?