ImportError: нет модуля с именем Foundation - PullRequest
22 голосов
/ 23 октября 2009

Я пытаюсь следовать инструкциям для принятого ответа на вопрос «Разработка 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 ~ / Рабочий стол / Проект \ Templates / Cocoa-Python \ Application / CocoaApp.xcodeproj / TemplateInfo.plist Cocoa-Python \ Application ~ / Библиотека / Приложение \ Поддержка / Разработчик / Общие / Xcode / Проект \ Шаблоны / Какао-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, но я не могу.

Ответы [ 7 ]

24 голосов
/ 04 августа 2013

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

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

$ pip install pyobjc

Для процентов от (http://pythonhosted.org/pyobjc/)

)

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

5 голосов
/ 24 октября 2009

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

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

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

Делая это также получил

>>> import objc

линия работает.

4 голосов
/ 24 июля 2010

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

Редактировать: Я нашел, как заставить "import objc" работать, просто: export PYTHONPATH = "/ Система / Библиотека / Каркасы / Python.framework / Версии / 2.6 / Дополнения / lib / python /"

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

2 голосов
/ 30 марта 2014

для питона 2.7

export PYTHONPATH = "/ Система / Библиотека / Каркасы / Python.framework / Версии / 2.7 / Дополнения / lib / python /"

2 голосов
/ 23 октября 2009

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

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

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

См. Этот SO вопрос для более подробной информации о том, как Python Path создан и т. Д.

1 голос
/ 27 августа 2017

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

1 голос
/ 23 октября 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...