Установка psyco для python на Snow Leopard

У меня возникли проблемы с установкой psyco на моем Macbook pro с помощью Snow Leopard с python 2.6.1.

Я пытаюсь заставить python работать в 32-битном режиме, используя команду

defaults write com.apple.versioner.python Prefer-32-Bit -bool yes 

Кроме того, я попробовал Macport py26-psyco, который, кажется, заканчивается, но модуль не может быть найден при компиляции.

$ sudo python setup.py install
ПРОЦЕССОР = 'ivm'
запуск установки
ходовая сборка
запуск build_py
running build_ext
расширение «psyco._psyco»
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch ppc -arch x86_64 -pipe -DALL_STATIC = 1 -Ic / ivm -I / System / Library / Frameworks / Python.framework / Версии / 2.6 / include / python2.6 -cc / psyco.c -o build / temp.macosx-10.6-universal-2.6 / c / psyco.o
В файле, включенном из c / initialize.h: 48,
от c / psyco.c: 14:
c / psyfunc.c: В функции «psycofunction_call»:
c / psyfunc.c: 801: warning: передать аргумент 2 из 'PyDict_Next' из несовместимого типа указателя
В файле, включенном из c / initialize.h: 49,
от c / psyco.c: 14:
c / stats.c: В функции «psyco_stats_reset»:
c / stats.c: 260: warning: передать аргумент 2 из 'PyDict_Next' из несовместимого типа указателя
c / stats.c: В функции «psyco_stats_dump»:
c / stats.c: 298: warning: передать аргумент 2 из 'PyDict_Next' из несовместимого типа указателя
c / stats.c: В функции «psyco_stats_top»:
c / stats.c: 326: warning: передать аргумент 2 из 'PyDict_Next' из несовместимого типа указателя
В файле, включенном из c / initialize.h: 75,
от c / psyco.c: 14:
c / Objects / pstructmember.c: В функции «PsycoMember_GetOne»:
c / Objects / pstructmember.c: 16: предупреждение: неиспользуемая переменная 'w2'
c / psyco.c: На верхнем уровне:
c / codegen.c: 748: предупреждение: «integer_lshift» определено, но не используется
c / ivm / пролог / insns-igen.i: 175: предупреждение: «psyco_insn_assertdepth» определено, но не используется
c / ivm / prolog / insns-igen.i: 197: предупреждение: «psyco_insn_dynamicfreq» определено, но не используется
c / codegen.c: 66: предупреждение: 'cc_from_vsource' определено, но не используется
c / Objects / plongobject.c: 20: предупреждение: «PsycoLong_AsDouble» определен, но не используется
c / Объекты / plistobject.c: 116: предупреждение: «PsycoList_SingletonNew» определен, но не используется
c / codegen.c: В функции «psyco_generic_call»:
c / codegen.c: 423: предупреждение: '_arg' может использоваться неинициализированным в этой функции
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/as: сборщик (/usr/bin/../libexec/gcc/darwin/ppc/as или /usr/bin/../local/libexec / gcc / darwin / ppc / as) для архитектуры ppc не установлен
Установленные сборщики:
/usr/bin/../libexec/gcc/darwin/x86_64/as для архитектуры x86_64
/usr/bin/../libexec/gcc/darwin/i386/as для архитектуры i386
В файле, включенном из c / initialize.h: 48,
от c / psyco.c: 14:
c / psyfunc.c: В функции «psycofunction_call»:
c / psyfunc.c: 801: warning: передать аргумент 2 из 'PyDict_Next' из несовместимого типа указателя
В файле, включенном из c / initialize.h: 49,
от c / psyco.c: 14:
c / stats.c: В функции «psyco_stats_reset»:
c / stats.c: 260: warning: передать аргумент 2 из 'PyDict_Next' из несовместимого типа указателя
c / stats.c: В функции «psyco_stats_dump»:
c / stats.c: 298: warning: передать аргумент 2 из 'PyDict_Next' из несовместимого типа указателя
c / stats.c: В функции «psyco_stats_top»:
c / stats.c: 326: warning: передать аргумент 2 из 'PyDict_Next' из несовместимого типа указателя
В файле, включенном из c / initialize.h: 75,
от c / psyco.c: 14:
c / Objects / pstructmember.c: В функции «PsycoMember_GetOne»:
c / Objects / pstructmember.c: 16: предупреждение: неиспользуемая переменная 'w2'
c / psyco.c: На верхнем уровне:
c / codegen.c: 748: предупреждение: «integer_lshift» определено, но не используется
c / ivm / пролог / insns-igen.i: 175: предупреждение: «psyco_insn_assertdepth» определено, но не используется
c / ivm / prolog / insns-igen.i: 197: предупреждение: «psyco_insn_dynamicfreq» определено, но не используется
c / codegen.c: 66: предупреждение: 'cc_from_vsource' определено, но не используется
c / Objects / plongobject.c: 20: предупреждение: «PsycoLong_AsDouble» определен, но не используется
c / Объекты / plistobject.c: 116: предупреждение: «PsycoList_SingletonNew» определен, но не используется
c / codegen.c: В функции «psyco_generic_call»:
c / codegen.c: 423: предупреждение: '_arg' может использоваться неинициализированным в этой функции
c / psyco.c: На верхнем уровне:
c / psyco.c: 1064: фатальная ошибка: запись ошибки в -: Разбитая труба
компиляция завершена.
В файл включен из c / psyco.c: 1:
c / psyco.h: 13: 3: ошибка: #error "64-разрядные системы вообще не поддерживаются. См. справку по psyco.sf.net"
В файле, включенном из c / dispatcher.h: 10,
от c / codemanager.h: 10,
от c / psyco.c: 3:
c / vcompiler.h: В функции «PsycoObject_New»:
c / vcompiler.h: 743: предупреждение: сравнение всегда неверно из-за ограниченного диапазона типов данных
c / vcompiler.h: В функции «PsycoObject_Resize»:
c / vcompiler.h: 757: предупреждение: сравнение всегда неверно из-за ограниченного диапазона типов данных
В файле, включенном из c / dispatcher.h: 12,
от c / codemanager.h: 10,
от c / psyco.c: 3:
c / codegen.h: 15: 3: ошибка: #error "———————————– ——————»
c / codegen.h: 16: 3: error: #error «Извините, не 32-разрядные платформы вообще не поддерживаются».
c / codegen.h: 17: 3: error: #error «Вы можете попробовать с помощью Python, скомпилированного в 32-разрядный"
c / codegen.h: 18: 3: ошибка: #error ". Обратите внимание, что Psyco, вероятно,
c / codegen.h: 19: 3: error: #error "никогда не поддерживает не 32-битные платформы, так как это не"
c / codegen.h: 20: 3: ошибка: #error "более активно развивается. Вместо этого группа PyPy"
c / codegen.h: 21: 3: error: #error "планирует заменить его более гибким и легко"
c / codegen.h: 22: 3: error: #error "retargettable Psyco-for-PyPy в течение 2006 года."
c / codegen.h: 23: 3: error: #error "См. http://codespeak.net/pypy/ "
c / codegen.h: 24: 3: ошибка: #error "———————————– ——————»
В файле, включенном из c / ivm / iinitialize.h: 12,
из c / initialize.h: 42,
от c / psyco.c: 14:
c / ivm / idispatcher.c: В функции «psyco_unify»:
c / ivm / idispatcher.c: 202: предупреждение: сравнение всегда неверно из-за ограниченного диапазона типов данных
В файле, включенном из c / initialize.h: 46,
от c / psyco.c: 14:
c / dispatcher.c: В функции 'fz_internal_copy':
c / dispatcher.c: 131: предупреждение: сравнение всегда неверно из-за ограниченного диапазона типов данных
c / dispatcher.c: В функции 'fz_compress':
c / dispatcher.c: 233: предупреждение: литье из указателя в целое число разного размера
c / dispatcher.c: 239: предупреждение: приведение к указателю из целого числа разного размера
В файле, включенном из c / initialize.h: 48,
от c / psyco.c: 14:
c / psyfunc.c: В функции «psycofunction_call»:
c / psyfunc.c: 801: warning: передать аргумент 2 из 'PyDict_Next' из несовместимого типа указателя
В файле, включенном из c / initialize.h: 49,
от c / psyco.c: 14:
c / stats.c: В функции «psyco_stats_reset»:
c / stats.c: 260: warning: передать аргумент 2 из 'PyDict_Next' из несовместимого типа указателя
c / stats.c: В функции «psyco_stats_dump»:
c / stats.c: 298: warning: передать аргумент 2 из 'PyDict_Next' из несовместимого типа указателя
c / stats.c: В функции «psyco_stats_top»:
c / stats.c: 326: warning: передать аргумент 2 из 'PyDict_Next' из несовместимого типа указателя
В файле, включенном из c / initialize.h: 53,
от c / psyco.c: 14:
c / codemanager.c: В функции «psyco_shrink_code_buffer»:
c / codemanager.c: 235: warning: format '% d' ожидает тип 'int', но аргумент 3 имеет тип 'long int'
В файле, включенном из c / initialize.h: 60,
от c / psyco.c: 14:
c / Objects / pobject.c: В функции 'getdictoffset':
c / Objects / pobject.c: 257: ошибка: «SIZE_OF_LONG_BITS» необъявленная (сначала используется в этой функции)
c / Objects / pobject.c: 257: ошибка: (каждый необъявленный идентификатор сообщается только один раз
c / Objects / pobject.c: 257: ошибка: для каждой функции она появляется.)
В файле, включенном из c / initialize.h: 61,
от c / psyco.c: 14:
c / Objects / pabstract.c: 723: 3: error: #error "пропущенный код из Python 2.3 здесь"
В файле, включенном из c / initialize.h: 75,
от c / psyco.c: 14:
c / Objects / pstructmember.c: В функции «PsycoMember_GetOne»:
c / Objects / pstructmember.c: 16: предупреждение: неиспользуемая переменная 'w2'
lipo: невозможно открыть входной файл: /var/tmp//ccjHgyCU.out (нет такого файла или каталога)
Ошибка: команда «gcc-4.2» не удалась с статусом выхода

    4 Solutions collect form web for “Установка psyco для python на Snow Leopard”

    Попробуйте сделать это перед компиляцией: экспортируйте ARCHFLAGS = "- arch i386", затем в setup.py

    замените extra_link_args = [] с помощью extra_link_args = [ '-L / Developer / SDKs / MacOSX10.6.sdk / usr / lib' ]

    затем просто запустите: python setup.py install

    Надеюсь это поможет!

    Я столкнулся с той же проблемой на своем MacBook Pro, используя OS X 10.7.

    Я смог скомпилировать его, используя «sudo python2.5 setup.py install»,

    Это не похоже на обаяние. Надеюсь, это поможет кому-то другому.

    У меня нет ответа на ваш вопрос, но в качестве альтернативы вы пытались установить из источника, как подробно здесь и здесь?

    Кроме того, вы можете принудительно запустить 32-битный питон, вызывая команду python2.6-32 в терминале, что может быть немного более удобным для тестирования.

    Зачем компилировать вещи самостоятельно, когда есть простой выход ?

    1. Установите ActivePython 2.6 для Mac
    2. Откройте терминал и введите pypm install psyco
     
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.