2009-10-23 20 views
18

Estoy tratando de seguir las instrucciones para la respuesta aceptada al "desarrollo de PyObjC con Xcode 3.2". Voy a publicar de nuevo aquí, ya que no tengo representante suficiente para comentar sobre la pregunta real:ImportError: Ningún módulo llamado Foundation


Esto es lo que he hecho para conseguir PyObjC trabajando en Snow Leopard:

  • Usando el Finder , Fui a Go > Connect to Server... y me conecté a http://svn.red-bean.com/pyobjc/trunk/pyobjc/pyobjc-xcode/ como invitado.

  • Luego hice una carpeta llamada Xcode en mi sistema local al ~Library/Application Support/Developer/Shared/Xcode/. (Puede que ya tenga esta carpeta, pero aún no había personalizado nada).

  • Copié la carpeta File Templates del servidor de red-bean en mi nueva carpeta de Xcode.

  • Copió la carpeta Project Templates a otro lugar, por ejemplo, el Escritorio.

  • utilizando el terminal, navegado al Proyecto temporal Plantillas carpeta en mi escritorio y corrió este comando para "construir" la plantilla .:

$ 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/Developer/Shared/Xcode/Project\ Templates/Cocoa-Python\ Application


Cuando trato de ejecutar el línea que comienza con ./project-tool.py, me sale el siguiente error en el terminal:

Traceback (most recent call last): 
    File "./project-tool.py", line 22, in <module> 
    from Foundation import NSDictionary 
ImportError: No module named Foundation 

I estoy ejecutando Snow Leopard y he instalado Xcode 3.2.1 y he leído que este módulo ya debería estar instalado y funcionando. He leído que puede probar si los módulos PyObjC están funcionando ejecutando >>> import objc en la línea de comandos de Python. Cuando ejecuto esto, obtengo:

>>> import objc 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named objc 

¿Alguien podría ayudarme a disipar este error? Parece que debería poder hacer todo esto automáticamente con mi instalación de Snow Leopard, pero no puedo.

Respuesta

5

bien, resultó que, modifica la respuesta de MJV, yo era capaz de conseguir que funcione escribiendo

export PYTHONPATH="/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/PyObjC/" 

antes de ejecutar la línea ./project-tool.py. Todavía me parece ridículo que tuviera que hacer esto y si alguien puede ver por qué, estaría encantado de saberlo.

De esta forma también tiene la línea de trabajo

>>> import objc 

.

+1

Si me ayuda, obtuve el mismo error al ejecutar mi script con solo "python" ... pero si lo ejecuto con/usr/bin/python, entonces funciona (sin tener que exportar ninguna ruta adicional). –

2

Una de dos cosas:

  • O bien el módulo de la Fundación no existe
  • o Python intérprete no sabe cuándo encontrar este archivo

Python busca de módulos en el PythonPath

Consulte este SO question para obtener más información sobre cómo se creó Python Path, etc.

+0

Gracias por esto. Es útil saber cómo editar la ruta de Python. Lamentablemente, sin embargo, no tengo idea de qué camino debo agregar para incorporar Foundation. –

1

Ejecute python -v para rastrear sentencias de importación, este trabajo también para el modo interactivo.

+0

Lo siento, ejecuté esto y obtuve resultados. Simplemente no entiendo lo que se supone que debo estar buscando. –

4

Es porque PyObjC está ahí: /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC

Editar: encontré cómo hacer "importar objc" obra , simplemente: exportación PYTHONPATH = "/ System/Library/Frameworks/Python.framework/Versiones/2.6/suplementos/lib/python /"

se añadirá todos los directorios de la ruta de Python (sys.path)

20

Tuve el mismo problema. La mía fue causada, creo que mediante el uso de homebrew para instalar mi propia Python para jugar.

Debido Estaba preocupado por la mezcla de versiones de Python, en lugar de crear el enlace como se describe anteriormente, he instalado un nuevo PyObjC usando:

$ pip install pyobjc 

Por interés, a partir de (http://pythonhosted.org/pyobjc/)

The PyObjC project aims to provide a bridge between the Python and Objective-C programming languages.

2

para python 2.7

export PYTHONPATH = "/ Sistema/Librería/Frameworks/Python.framework/Versions/2.7/Extras/lib/python /"

0

Pude acceder a una instalación de Python con Foundation en mi OSX ejecutando /usr/bin/python file-to-run.py

Cuestiones relacionadas