mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-01-19 15:22:45 +08:00
__fish_anypython: do not automatically run python3 on macOS
macOS ships with a stub `/usr/bin/python3` which by default opens a dialog to install the command line tools. As we run `python3` initially at launch, this causes the dialog to appear on first run of fish, if the command line tools are not installed. Fix this by detecting the case of `/usr/bin/python3` on Darwin without the command line tools installed, and do not offer that as a viable python.
This commit is contained in:
parent
a77bc70def
commit
6742d11a0e
|
@ -1,9 +1,18 @@
|
|||
function __fish_anypython
|
||||
# Try python3 first, because that's usually faster and generally nicer.
|
||||
# Do not consider the stub /usr/bin/python3 that comes installed on Darwin to be Python
|
||||
# unless Xcode reports a real directory path.
|
||||
for py in python3 python3.{9,8,7,6,5,4,3} python2 python2.7 python
|
||||
command -sq $py
|
||||
and echo $py
|
||||
and return 0
|
||||
if set -l py_path (command -s $py)
|
||||
if string match -q /usr/bin/python3 -- $py_path
|
||||
and string match -q Darwin -- "$(uname)"
|
||||
and type -q xcode-select
|
||||
and not xcode-select --print-path &>/dev/null
|
||||
continue
|
||||
end
|
||||
echo $py
|
||||
return 0
|
||||
end
|
||||
end
|
||||
# We have no python.
|
||||
return 1
|
||||
|
|
Loading…
Reference in New Issue
Block a user