Warum funktioniert „xattr“ nicht?

xattrWenn ich versuche , im Terminal auszuführen , bekomme ich

Traceback (most recent call last):
  File "/usr/bin/xattr-2.7", line 33, in <module>
    import xattr
ImportError: No module named xattr

Was ist denn hier los? Ich dachte, xattr wäre ein Teil von Darwin . Ist xattrin Python geschrieben? Muss ein Python-Paket auf meinem System installiert werden?

xattr ist Teil von OSX und verwendet Python, aber alle richtigen Bits sollten vorhanden sein - haben Sie Python installiert oder gelöscht - und auf welchem ​​​​Betriebssystem sind Sie verso?
Findet ls /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/xattretwas? Dort sollte das xattr-Modul sein (zumindest in Mavericks). Es sollte _xattr.so und mehrere .py- und .pyc-Dateien enthalten.
@ Mark: Das reicht als Antwort. Der Kern der Frage ist, ob es sich um ein Python-Paket handelt, was meiner Meinung nach der Fall ist. (Einfache Installation behebt das Problem.)
@raxacoricofallapatorius Wie hast du es installiert - es sollte nicht benötigt werden - ich würde das Betriebssystem neu installieren
@Mark: Mach dir keine Sorgen. Ich habe mit meiner Python-Installation zu tun, was in Ordnung ist. Die Frage ist einfach, ob es eine Python-Abhängigkeit gibt.

Antworten (3)

Die Datei, die ausgeführt wird, wenn Sie den Befehl xattr ausführen, ist /usr/bin/xattrein Python-Skript, das herausfindet, welche Version von Python Sie haben, und dann /usr/bin/xattr-2.7 für Python 2.7 ausführt. Dieses Skript ist ebenfalls Python und enthält eine import xattrzum Importieren des Python-Moduls xattr aus den von Apple installierten Python-Bibliotheken

Wenn Sie eine Version von Python mit Homebrew installiert haben, versuchen Sie, die Verknüpfung aufzuheben.

brew unlink python

/usr/local/bin/xattrverwendet die von vorgeschlagene Version von Python 3 env. Brew überschreibt dies, enthält jedoch nicht die xattr-Bibliothek, was dieses Problem verursacht.

Wurde Ihr /Library/Python/2.7Verzeichnis zufällig gelöscht? Einige Skripte suchen nach /Library/Python/2.7/site-packages/Extras.pth.

Auf meinem Mac enthält diese Datei ein paar Zeilen:

/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC

xattr selbst befindet sich im ersten Verzeichnis darüber. /Library/Python/2.7Ich stand heute vor dem gleichen Problem und stellte fest, dass ich heute früher versehentlich gelöscht hatte, weil ich dachte, es sei etwas anderes. Xattr ist verrückt geworden, das Wiederherstellen dieses Verzeichnisses hat es behoben.

Dies könnte durchaus richtig sein, ist aber keine Antwort und wurde in den Kommentaren vorgeschlagen. Th op sagt, dass sie mit ihrem Python-Setup herumgespielt haben und das alles wissen
Eine Erklärung , wie das Verzeichnis wiederhergestellt werden kann, würde dies für andere mit dem gleichen Problem hilfreicher machen.