Import: Kein Modul Foundation benannt
-
06-07-2019 - |
Frage
Ich versuche, die Anweisungen für die akzeptierte Antwort auf „PyObjC Entwicklung mit Xcode 3.2“ zu folgen. Ich werde sie hier umbuchen, da ich auf der tatsächlichen Frage Kommentar nicht genug rep habe:
Hier ist, was ich habe PyObjC zu erledigen arbeiten in Snow Leopard:
-
Sie im Finder, ging ich
Go > Connect to Server...
und mit http://svn.red-bean.com/pyobjc/trunk/pyobjc/pyobjc-xcode/ als Gast. -
Ich habe dann einen Ordner
Xcode
auf meinem lokalen System bei~Library/Application Support/Developer/Shared/Xcode/
genannt. (Sie können bereits auf diesen Ordner haben, aber ich hatte nichts besonders angefertigt für mich noch) nicht. -
Ich kopierte den
File Templates
Ordner aus dem rot-Bean-Server in meine neue Xcode Ordner. -
Kopiert den
Project Templates
Ordner an einen anderen Ort, zum Beispiel den Desktop. -
die Bedienung von Terminal, in das temporäre Projekt navigiert Vorlagen Ordner auf meinem Desktop und lief diesen Befehl zu „bauen“ die Vorlage:.
$ cd ~ / Desktop / Project \ Templates /
$ ./project-tool.py -k -v --template ~ / Desktop / Project \ Templates / Cocoa-Python \ Application / CocoaApp.xcodeproj / TemplateInfo.plist Cocoa-Python \ Application ~ / Library / Application \ Support / Entwickler / Shared / Xcode / Project \ Templates / Cocoa-Python \ Application
Wenn ich versuche, um die Linie zu laufen, die mit ./project-tool.py
startet, erhalte ich die folgende Fehlermeldung im Terminal:
Traceback (most recent call last):
File "./project-tool.py", line 22, in <module>
from Foundation import NSDictionary
ImportError: No module named Foundation
Ich bin mit Snow Leopard und haben Xcode 3.2.1 installiert und habe gelesen, dass dieses Modul bereits installiert sein sollte und arbeiten. Ich habe gelesen, dass Sie testen können, wenn die PyObjC Module durch Ausführen >>> import objc
in der Python-Befehlszeile arbeiten. Als ich dies ausführen, erhalte ich:
>>> import objc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named objc
Kann jemand mir helfen, diesen Fehler zu zerstreuen? Es scheint, wie soll ich in der Lage sein, all dies automatisch mit meinem Snow Leopard Installation zu tun, aber ich kann es nicht.
Lösung 2
Okay, es stellte sich heraus, dass mjv Antwort zur Änderung konnte ich es durch Eingabe von
zum Laufen bringenexport PYTHONPATH="/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/PyObjC/"
, bevor Sie die ./project-tool.py
Linie ausgeführt wird. Ich kann es immer noch lächerlich, dass ich das tun musste, und wenn jemand, warum sehen kann, würde ich mich freuen zu wissen.
Dadurch bekam auch die
>>> import objc
Linie arbeiten.
Andere Tipps
Ich hatte das gleiche Problem. Mine verursacht wurde ich denke, durch die Verwendung Homebrew meine eigene Python installieren zu basteln.
Weil ich besorgt war über Python-Versionen mischen, anstatt die Schaffung der Verbindung, wie oben beschrieben, installierte ich eine neue PyObjC mit:
$ pip install pyobjc
Für Interesse, aus ( http://pythonhosted.org/pyobjc/ )
Das PyObjC Projekt zielt darauf ab, eine Brücke zwischen dem Python und Objective-C-Programmiersprachen zur Verfügung zu stellen.
Es ist, weil PyObjC gibt es: /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC
Edit: Ich fand, wie „Import objc“ Arbeit zu machen, nur: Export PYTHONPATH = "/ System / Library / Frameworks / Python.framework / Versions / 2.6 / Extras / lib / python /"
Es wird fügen Sie alle Verzeichnisse auf dem Python-Pfad (sys.path)
Einer von zwei Dinge:
- Entweder das Fundation-Modul nicht vorhanden
- oder Python interpretor nicht weiß, wann diese Datei finden
Python sucht Module im PythonPath
Sehen Sie diese SO Frage für weitere Details, wie Python-Pfad wird erstellt, etc.
für Python 2.7
export PYTHONPATH = "/ System / Library / Frameworks / Python.framework / Versions / 2.7 / Extras / lib / python /"
Ausführen python -v
auf Import-Anweisungen zu verfolgen, diese Arbeit für den interaktiven Modus zu.
ich eine Python-Installation mit Foundation auf meinem OSX, indem Sie /usr/bin/python file-to-run.py