ImportError: Aucun module nommé Foundation
-
06-07-2019 - |
Question
J'essaie de suivre les instructions pour la réponse acceptée à "Développement PyObjC avec Xcode 3.2". Je vais les republier ici car je n'ai pas assez de représentants pour commenter la question:
Voici ce que j'ai fait pour que PyObjC fonctionne dans Snow Leopard:
-
À l'aide du Finder, je suis allé dans
Aller > Connectez-vous au serveur ...
et connectez-vous à http: / /svn.red-bean.com/pyobjc/trunk/pyobjc/pyobjc-xcode/ en tant qu'invité. -
J'ai ensuite créé un dossier appelé
Xcode
sur mon système local à l'emplacement~ Bibliothèque / Application Support / Developer / Shared / Xcode /
. (Vous avez peut-être déjà ce dossier, mais je n'ai encore rien personnalisé.) -
J'ai copié le dossier
Modèles de fichiers
du serveur Red Bean dans mon nouveau dossier Xcode. -
a copié le dossier
Modèles de projet
vers un autre emplacement, par exemple le Bureau. -
À l'aide du terminal, naviguez jusqu'au dossier temporaire Modèles de projet de mon bureau et exécutez cette commande pour " construire " le modèle.:
$ cd ~ / Bureau / Projet \ Modèles /
$ ./project-tool.py -k --v --template ~ / Bureau / Projet \ Modèles / Cocoa-Python \ Application / CocoaApp.xcodeproj / TemplateInfo.plist Cocoa-Python \ Application ~ / Bibliothèque / Application \ Support / Developer / Shared / Xcode / Projet \ Modèles / Cocoa-Python \ Application
Lorsque j'essaie d'exécuter la ligne commençant par ./ project-tool.py
, l'erreur suivante s'affiche dans le terminal:
Traceback (most recent call last):
File "./project-tool.py", line 22, in <module>
from Foundation import NSDictionary
ImportError: No module named Foundation
J'utilise Snow Leopard, j'ai installé Xcode 3.2.1 et lu que ce module devrait déjà être installé et fonctionner. J'ai lu que vous pouvez tester le fonctionnement des modules PyObjC en exécutant > > > importer objc
dans la ligne de commande Python. Lorsque je lance ceci, je reçois:
>>> import objc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named objc
Quelqu'un pourrait-il m'aider à dissiper cette erreur? Il semble que je devrais pouvoir faire tout cela automatiquement avec mon installation de Snow Leopard, mais je ne peux pas.
La solution 2
D'accord, il s'est avéré qu'en modifiant la réponse de mjv, j'ai pu le faire fonctionner en tapant
export PYTHONPATH="/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/PyObjC/"
avant d’exécuter la ligne ./ project-tool.py
. Je trouve toujours cela ridicule de devoir faire cela et si quelqu'un peut comprendre pourquoi, je serais ravi de le savoir.
Cette opération a également reçu le
>>> import objc
ligne de travail.
Autres conseils
J'ai eu le même problème. Le mien a été causé, je pense, en utilisant homebrew pour installer mon propre Python avec lequel bricoler.
Parce que je craignais de mélanger des versions de Python plutôt que de créer le lien comme décrit ci-dessus, j'ai installé un nouveau pyobjc en utilisant:
$ pip install pyobjc
Par intérêt, à partir de ( http://pythonhosted.org/pyobjc/ )
Le projet PyObjC vise à créer un pont entre les langages de programmation Python et Objective-C.
C'est parce que PyObjC est là: /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC
Modifier: J'ai trouvé comment "importer" et "importer". travailler, juste: export PYTHONPATH = " / System / Library / Frameworks / Python.framework/Versions/2.6/Extras/lib/python/"
Cela ajoutera tous les répertoires au chemin python (sys.path)
L'une des deux choses suivantes:
- Le module de fondation n'existe pas
- Ou l'interprète Python ne sait pas quand trouver ce fichier
Python recherche des modules dans PythonPath
Consultez cette question SO pour plus de détails sur la chemin d'accès Python est créé, etc.
pour python 2.7
exportation PYTHONPATH = " / System / Library / Frameworks / Python.framework/Versions/2.7/Extras/lib/python/"
Exécutez python -v
pour suivre les instructions d'importation, cela fonctionne également pour le mode interactif.
Je pouvais accéder à une installation Python avec Foundation sur mon OSX en exécutant / usr / bin / python file-to-run.py