Brew install python3 ”pyexpat'ı derleyemiyor


2

brew install python3bir pyexpat hatasıyla başarısız olur, bu, yüklü Python'un XML'i (kırma pipvb.) ayrıştıramayacağı anlamına gelir . İşte ilgili alıntı ~/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.dylibbu sembolün orada tanımlandığını gösterir, ancak otool -Lpyexpat .sodosyasına göre bundan bahsetmez; tek bağımlılığı:

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)

Yine 02.make, bu pyexpat'ın nasıl .soyapıldığıdır (daha okunur hale getirmek için satır sonları ekledim):

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

Mac OS 10.13.6'da (17G65) XCode 9.4.1 kullanıyorum. Diğer raporlar, sorunun Xcode sürümümün macOS sürümümden daha yeni olabileceğini, ancak çalışma politikası nedeniyle henüz Mojave'ye yükseltme yapamayacağımı gösteriyor.

Çalışan bir Python 3 kurulumu nasıl alabilirim?

Yanıtlar:


2

Sonunda bunu tarafından düzelttim

  • XCode'u tamamen kaldırma (ve xcode select komut satırı araçlarına dayanarak)
  • kiraz seçiyor bu taahhüt benim homebrewleri çekirdekli dizini Taps içine
  • python3'ü yeniden yükleme
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.