mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-02-01 00:29: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
|
function __fish_anypython
|
||||||
# Try python3 first, because that's usually faster and generally nicer.
|
# 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
|
for py in python3 python3.{9,8,7,6,5,4,3} python2 python2.7 python
|
||||||
command -sq $py
|
if set -l py_path (command -s $py)
|
||||||
and echo $py
|
if string match -q /usr/bin/python3 -- $py_path
|
||||||
and return 0
|
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
|
end
|
||||||
# We have no python.
|
# We have no python.
|
||||||
return 1
|
return 1
|
||||||
|
|
Loading…
Reference in New Issue
Block a user