brew install python3
fallisce con un errore pyexpat, il che significa che Python installato non può analizzare XML (rottura pip
ecc.). Ecco l'estratto pertinente da ~/Library/Logs/Homebrew/python/02.make
:
*** WARNING: renaming "pyexpat" since importing it failed: dlopen(build/lib.macosx-10.13-x86_64-3.7/pyexpat.cpython-37m-darwin.so, 2): Symbol not found: _XML_ErrorString
Referenced from: build/lib.macosx-10.13-x86_64-3.7/pyexpat.cpython-37m-darwin.so
Expected in: flat namespace
in build/lib.macosx-10.13-x86_64-3.7/pyexpat.cpython-37m-darwin.so
nm -gU /usr/lib/libexpat.1.dylib
mostra che questo simbolo è definito lì, ma in base a otool -L
il file pyexpat .so
non lo menziona; la sua unica dipendenza è:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
Sempre da 02.make
, questo è il modo in cui è stato creato pyexpat .so
(ho aggiunto interruzioni di riga per renderlo più leggibile):
clang \
-bundle \
-undefined dynamic_lookup \
-isysroot \
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk \
build/temp.macosx-10.13-x86_64-3.7/private/tmp/python-20180929-40812-11ki5rr/Python-3.7.0/Modules/pyexpat.o \
build/temp.macosx-10.13-x86_64-3.7/private/tmp/python-20180929-40812-11ki5rr/Python-3.7.0/Modules/expat/xmlparse.o \
build/temp.macosx-10.13-x86_64-3.7/private/tmp/python-20180929-40812-11ki5rr/Python-3.7.0/Modules/expat/xmlrole.o \
build/temp.macosx-10.13-x86_64-3.7/private/tmp/python-20180929-40812-11ki5rr/Python-3.7.0/Modules/expat/xmltok.o \
-L/usr/local/lib \
-o build/lib.macosx-10.13-x86_64-3.7/pyexpat.cpython-37m-darwin.so
Sto eseguendo XCode 9.4.1 su mac OS 10.13.6 (17G65). Altri rapporti indicano che il problema potrebbe essere che la mia versione Xcode è più recente della mia versione macOS, ma a causa del criterio di lavoro non posso ancora eseguire l'aggiornamento a Mojave.
Qualche idea su come posso installare Python 3 funzionante?