Домашняя установка: зависимость PHP re2c не может найти интерпретатор Python
Я сломал установку PHP на MacOS Mojave, поэтому пытаюсь:
brew reinstall shivammathur/php/php@7.4
Это идет хорошо, пока не будет достигнуто:
==> Installing shivammathur/php/php@7.4 dependency: re2c
который терпит неудачу с:
checking for a Python interpreter with version >= 3.7... none
configure: error: no suitable Python interpreter found
Это очень странно, поскольку Python установлен и имеет несколько версий, которые должны пройти:
~$ which python
/usr/local/bin/python
~$ python --version
Python 3.11.4
~$ python3 --version
Python 3.11.4
~$ python3.9 --version
Python 3.9.17
Копаясь вconfig.log
изre2c
, я обнаружил много неудачных проверок:
...
configure:3672: checking for a Python interpreter with version >= 3.7
configure:3690: python -c import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. # map returns an iterator in Python 3.0 and a list in 2.x minver = list(map(int, '3.7'.split('.'))) + [0, 0, 0] minverhex = 0 # xrange is not present in Python 3.0 and range returns an iterator for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] sys.exit(sys.hexversion < minverhex)
configure:3693: $? = 1
configure:3690: python2 -c import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. # map returns an iterator in Python 3.0 and a list in 2.x minver = list(map(int, '3.7'.split('.'))) + [0, 0, 0] minverhex = 0 # xrange is not present in Python 3.0 and range returns an iterator for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] sys.exit(sys.hexversion < minverhex)
./configure: line 3691: python2: command not found
configure:3693: $? = 127
configure:3690: python3 -c import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. # map returns an iterator in Python 3.0 and a list in 2.x minver = list(map(int, '3.7'.split('.'))) + [0, 0, 0] minverhex = 0 # xrange is not present in Python 3.0 and range returns an iterator for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] sys.exit(sys.hexversion < minverhex)
./configure: line 3691: python3: command not found
configure:3693: $? = 127
configure:3690: python3.9 -c import sys # split strings by '.' and convert to numeric. Append some zeros # because we need at least 4 digits for the hex conversion. # map returns an iterator in Python 3.0 and a list in 2.x minver = list(map(int, '3.7'.split('.'))) + [0, 0, 0] minverhex = 0 # xrange is not present in Python 3.0 and range returns an iterator for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] sys.exit(sys.hexversion < minverhex)
./configure: line 3691: python3.9: command not found
...
Кажется, чтоpython
команда выполняется, но не проходит проверку, в то время какpython3
иpython3.9
возвращатьсяcommand not found
.
Как такое может быть, если моя оболочка явно думает иначе?
Спасибо за любые предложения!!