ImportError: No módulo chamado Foundation
-
06-07-2019 - |
Pergunta
Eu estou tentando seguir as instruções para a resposta aceita com "desenvolvimento PyObjC com o Xcode 3.2". Vou repassar-lhes aqui desde que eu não tenho rep suficiente para comentar sobre a questão real:
Aqui está o que eu fiz para chegar PyObjC trabalho no Snow Leopard:
-
Usando o Finder, fui para
Go > Connect to Server...
e conectado a http://svn.red-bean.com/pyobjc/trunk/pyobjc/pyobjc-xcode/ como um convidado. -
Depois, fiz uma pasta chamada
Xcode
no meu sistema local em~Library/Application Support/Developer/Shared/Xcode/
. (Você já pode ter esta pasta, mas eu não tinha personalizado nada para mim ainda). -
Copiei a pasta
File Templates
a partir do servidor de feijão vermelho em minha nova pasta Xcode. -
copiou a pasta
Project Templates
para algum outro lugar, por exemplo, o ambiente de trabalho. -
Usando o Terminal, navegou para a pasta temporária modelos de projeto na minha Desktop e correu este comando para "construir" o modelo:.
$ cd ~ / Desktop / Project \ Templates /
$ ./project-tool.py k -v --template ~ / Desktop / Project \ Templates / Cacau-Python \ Application / CocoaApp.xcodeproj / TemplateInfo.plist Cacau-Python \ Application ~ / Library / Application \ Suporte / Developer / Shared / Xcode Project \ Templates / Cacau-Python \ Application /
Quando tento executar a linha que começa com ./project-tool.py
, eu recebo o seguinte erro no Terminal:
Traceback (most recent call last):
File "./project-tool.py", line 22, in <module>
from Foundation import NSDictionary
ImportError: No module named Foundation
Estou executando o Snow Leopard e instalou Xcode 3.2.1 e li que este módulo já deve estar instalado e funcionando. Eu li que você pode testar se os módulos PyObjC estão trabalhando, executando >>> import objc
na linha de comando Python. Quando eu executo isso, eu recebo:
>>> import objc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named objc
Alguém poderia me ajudar a dissipar esse erro? Parece que eu deveria ser capaz de fazer tudo isso automaticamente com minha instalação do Snow Leopard, mas não posso.
Solução 2
Ok, descobriu-se que, altera a resposta de mjv, eu era capaz de fazê-lo funcionar digitando
export PYTHONPATH="/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/PyObjC/"
antes de executar a linha ./project-tool.py
. Eu ainda acho que é ridículo que eu tinha que fazer isso e se alguém pode ver por que, eu ficaria encantado de saber.
Isso também tem a
>>> import objc
linha de trabalho.
Outras dicas
Eu tive o mesmo problema. Mina foi causado Acho usando homebrew para instalar o meu próprio Python para mexer com.
Porque eu estava preocupado sobre a mistura de versões do Python, em vez de criar a ligação, como descrito acima, eu instalei um novo PyObjC usando:
$ pip install pyobjc
Para interesse, a partir de ( http://pythonhosted.org/pyobjc/ )
Os objetivos do projeto PyObjC para fornecer uma ponte entre o Python e linguagens de programação Objective-C.
É porque PyObjC está lá: /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC
Edit: Eu encontrei como fazer "importar objc" trabalho, apenas: exportação PYTHONPATH = "/ System / Library / Frameworks / Python.framework / Versions / 2.6 / Extras / lib / python /"
Ele irá adicionar todos os diretórios para o caminho python (sys.path)
para Python 2.7
export PYTHONPATH = "/ System / Library / Frameworks / Python.framework / Versions / 2.7 / Extras / lib / python /"
Executar python -v
às declarações de importação traço, este trabalho para o modo interativo também.
Eu poderia acessar uma instalação do Python com a Fundação no meu OSX executando /usr/bin/python file-to-run.py