Вопрос

Я пытаюсь следовать инструкциям принятого ответа на вопрос «Разработка PyObjC с помощью Xcode 3.2».Я опубликую их здесь, так как у меня недостаточно представителей, чтобы прокомментировать реальный вопрос:


Вот что я сделал, чтобы PyObjC работал в Snow Leopard:

  • Используя Finder, я зашел в Go > Connect to Server... и подключен к http://svn.red-bean.com/pyobjc/trunk/pyobjc/pyobjc-xcode/ в качестве гостя.

  • Затем я создал папку под названием Xcode в моей локальной системе в ~Library/Application Support/Developer/Shared/Xcode/.(Возможно, эта папка у вас уже есть, но я пока ничего под себя не настраивал).

  • я скопировал File Templates папку с сервера Red-Bean в мою новую папку Xcode.

  • Скопировал Project Templates папку в другое место, например на Рабочий стол.

  • Используя терминал, перешел во временную папку «Шаблоны проектов» на моем рабочем столе и выполнил эту команду, чтобы «создать» шаблон:

$ cd ~/Рабочий стол/Проект\Шаблоны/

$ ./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\ Приложение


Когда я пытаюсь запустить строку, которая начинается с ./project-tool.py, я получаю следующую ошибку в терминале:

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

Я использую Snow Leopard, установил Xcode 3.2.1 и прочитал, что этот модуль уже должен быть установлен и работать.Я читал, что вы можете проверить, работают ли модули PyObjC, запустив >>> import objc в командной строке Python.Когда я запускаю это, я получаю:

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

Может ли кто-нибудь помочь мне развеять эту ошибку?Кажется, что я должен иметь возможность делать все это автоматически при установке Snow Leopard, но я не могу.

Это было полезно?

Решение 2

Хорошо, оказалось, что, исправив ответ mjv, я смог заставить его работать, набрав

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

перед выполнением ./project-tool.py линия.Я до сих пор нахожу смешным то, что мне пришлось это сделать, и если кто-нибудь поймет, почему, я был бы рад узнать.

Это также позволило получить

>>> import objc

линия рабочая.

Другие советы

У меня такая же проблема.Моя была вызвана, я думаю, использованием домашнее пиво чтобы установить свой собственный Python, с которым можно повозиться.

Поскольку я беспокоился о смешивании версий Python, вместо создания ссылки, как описано выше, я установил новый pyobjc, используя:

$ pip install pyobjc

Для интереса, от(http://pythonhosted.org/pyobjc/)

Целью проекта PyObjC является создание моста между языками программирования Python и Objective-C.

Это потому, что здесь есть PyObjC:/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC

Редактировать :Я нашел, как заставить работать «импорт объекта», просто:экспортировать PYTHONPATH="/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/"

Он добавит все каталоги в путь Python (sys.path).

Одна из двух вещей:

  • Либо модуль Fundation не существует.
  • Или интерпретатор Python не знает, когда найти этот файл.

Python ищет модули в PythonPath.

Видеть это ТАК вопрос для более подробной информации о том, как Путь Python создается и т. д.

для питона 2.7

экспортировать PYTHONPATH="/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/"

Бегать python -v для отслеживания операторов импорта это работает и для интерактивного режима.

Я мог получить доступ к установке Python с Foundation на моем OSX, запустив /usr/bin/python file-to-run.py

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top