Ho disabilitato SIP e rimosso System Python. Ora Xcode non mi permetterà di esportare app


0

Ero incazzato per avere 20 diverse versioni di Python sul mio Mac, quindi nel tentativo di ripulirlo ho cancellato ogni singola istanza di esso. Ho disabilitato SIP e cancellato quello predefinito di sistema.

Ho quindi usato Home-brew per installare Python 3.7, Python 3.6, Python 2.7 (Le versioni che uso).

Tuttavia Xcode ora genera un errore quando si tenta di esportare le app. È passato dal dire che non poteva trovare python:

ipatool failed with an exception: #<RuntimeError: Couldn't locate python in /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/local/bin /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/libexec /Applications/Xcode.app/Contents/Developer/usr/bin /Applications/Xcode.app/Contents/Developer/usr/local/bin /Applications/Xcode.app/Contents/Developer/Tools /usr/bin /bin /usr/sbin /sbin>
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:180:in `locate_tool'
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:160:in `unicode_equal?'
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:1882:in `block in MakeFileSystemNode'
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:1882:in `each'
/Applications/Xcode.app/Contents/Developer/usr/bin/ipatool:1882:in `detect'

Così ho quindi copiato su python 2.7 da home-brew in quella directory e ribattezzato "python". Ora ho un errore diverso, invece dice: The operation couldn’t be completed. No such file or directory. I log degli errori non mostrano nulla di importante.

Grazie.

Risposte:


2

Il motivo per cui la versione è protetta da Sip è perché è essenziale che il tuo sistema funzioni. Di tutto il python che puoi rimuovere, quello non è nella lista. Normalmente Python è relativamente locale, come in, tutto vive in una singola directory, ma la semplice sostituzione di un paio di file dall'installazione brew all'installazione del sistema operativo non è molto probabile per darvi una versione funzionante di Python. Il resto devi aver installato te stesso.

Direi di ripristinare il tuo MacOS e quindi utilizzare brew per installare le versioni aggiuntive di cui hai bisogno. Anche 2.7, poiché il sistema operativo non è molto buono per tutto tranne il sistema operativo stesso. Come non dovresti eseguire l'installazione di roba a livello globale, ma sempre in un ambiente virtuale, in modo da non ottenere schifezze da dipendenza con gli elementi richiesti dal sistema operativo o, peggio, elementi del sistema operativo che non funzionano a causa di dipendenze non funzionanti.

Scusa, non sono certo la risposta che stai cercando, ma il meglio che posso dare.


"Il motivo per cui la versione è protetta da Sip è perché è essenziale che il tuo sistema funzioni." Piccolo nitpick, molte di cose sono protette da SIP che non sono essenziali per il tuo sistema. /Applications/Chess.app è uno dei tanti esempi. (Ciò non significa che sia una buona idea rimuovere i file di sistema senza una causa.)
Wowfunhappy

Ho pensato che avrei dovuto ripristinarlo. Aspetterò un po 'prima di contrassegnare la tua risposta come accettata. Grazie!
Ge0rges
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.