Установка psyco для питона на Snow Leopard - PullRequest
7 голосов
/ 03 апреля 2011

У меня возникли проблемы с установкой 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
работает build_ext
здание 'psyco._psyco' расширение
gcc-4.2 -fno-строго-псевдонимы -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-прототипы -DENABLE_DTRACE -arch i386 -arch PPC -arch x86_64 -pipe -DALL_STATIC = 1 -Ic / ivm -I / System / Library / Frameworks / Python.framework / Versions / 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: предупреждение: передача аргумента 2 из PyDict_Next из несовместимого типа указателя
В файле из c / initialize.h: 49,
от c / psyco.c: 14:
c / stats.c: в функции «psyco_stats_reset»:
c / stats.c: 260: предупреждение: передача аргумента 2 из PyDict_Next из несовместимого типа указателя
c / stats.c: в функции «psyco_stats_dump»:
c / stats.c: 298: предупреждение: передача аргумента 2 из PyDict_Next из несовместимого типа указателя
c / stats.c: в функции «psyco_stats_top»:
c / stats.c: 326: предупреждение: передача аргумента 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 / prolog / 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 / Objects / plistobject.c: 116: предупреждение: «PsycoList_SingletonNew» определено, но не используется
c / codegen.c: в функции «psyco_generic_call»:
c / codegen.c: 423: предупреждение: ar _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: предупреждение: передача аргумента 2 из «PyDict_Next» из несовместимого типа указателя
В файле из c / initialize.h: 49,
от c / psyco.c: 14:
c / stats.c: в функции «psyco_stats_reset»:
c / stats.c: 260: предупреждение: передача аргумента 2 из PyDict_Next из несовместимого типа указателя
c / stats.c: в функции «psyco_stats_dump»:
c / stats.c: 298: предупреждение: передача аргумента 2 из PyDict_Next из несовместимого типа указателя
c / stats.c: в функции «psyco_stats_top»:
c / stats.c: 326: предупреждение: передача аргумента 2 из PyDict_Next из несовместимого типа указателя
В файле из c / initialize.h: 75,
от c / psyco.c: 14:
c / Objects / pstructmember.c: в функции «PsycoMember_GetOne»:
c / Objects / pstructmember.c: 16: войнаning: неиспользуемая переменная 'w2'
c / psyco.c: на верхнем уровне:
c / codegen.c: 748: предупреждение: 'integer_lshift' определено, но не используется
c / ivm / prolog / 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 / Objects / plistobject.c: 116: предупреждение: 'PsycoList_SingletonNew 'определено, но не используется
c / codegen.c: в функции' psyco_generic_call ':
c / codegen.c: 423: предупреждение: _arg' может использоваться неинициализированным в этой функции
c / psyco.c: На верхнем уровне:
c / psyco.c: 1064: фатальная ошибка: ошибка записи в -: Broken pipe
компиляция прекращена.
В файле, включенном в c / psyco.c: 1:
c / psyco.h: 13: 3: ошибка: #error "64-битные системы вообще не поддерживаются. См. Справку по psyco.sf.net"
В файле, включенном в c / dispatcherh: 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: ошибка: # ошибка "----------------------------------------------------- "
c / codegen.h: 16: 3: error: #error" Извините, не 32-битные платформы вообще не поддерживаются. "
c / codegen.h: 17: 3: ошибка: #error "Вы можете попробовать использовать Python, скомпилированный в 32-битном режиме"
c / codegen.h: 18: 3: error: #error ",Обратите внимание, что Psyco, вероятно, "
c / codegen.h: 19: 3: error: #error" никогда не будет поддерживать не 32-битные платформы, так как это не так "
c / codegen.h: 20: 3: error: #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 "См. http://codespeak.net/pypy/"
c / codegen.h:24: 3: ошибка: # ошибка "----------------------------------------------------- "
В файле, включенном в 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: предупреждение: приведение от указателя к целому числу другого размера
с / dispatcher.c: 239: предупреждение: приведение к указателю из целого числа другого размера
В файле, включенном из c / initialize.h: 48,
из c / psyco.c: 14:
c / psyfunc.c: в функции'psycofunction_call':
c / psyfunc.c: 801: предупреждение: передача аргумента 2 'PyDict_Next' из несовместимого типа указателя
В файле, включенном из c / initialize.h: 49,
из c / psyco.c: 14:
c / stats.c: в функции 'psyco_stats_reset':
c / stats.c: 260: предупреждение: передача аргумента 2 из 'PyDict_Next' из несовместимого типа указателя
c / stats.c: В функции 'psyco_stats_dump':
c / stats.c: 298: предупреждение: передача аргумента 2 для PyDict_Next от incompatiТип указателя ble *
c / stats.c: в функции «psyco_stats_top»:
c / stats.c: 326: предупреждение: передача аргумента 2 из PyDict_Next из несовместимого типа указателя
В файле из c / initialize.h: 53,
от c / psyco.c: 14:
c / codemanager.c: в функции «psyco_shrink_code_buffer»:
c / codemanager.c: 235: предупреждение: формат «% 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 "здесь пропущен код из 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 ]

2 голосов
/ 21 июня 2011

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

замените extra_link_args = [] на extra_link_args = [ '- L / Developer / SDKs / MacOSX10.6.sdk / usr / lib ']

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

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

1 голос
/ 23 января 2012

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

Мне удалось скомпилировать его с помощью "sudo python2.5 setup.py install"

Не это работает, как шарм. Надеюсь, что это может помочь кому-то еще.

0 голосов
/ 04 апреля 2011

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

  1. Установить ActivePython 2.6 для Mac
  2. ОткрытьТерминал и тип pypm install psyco
0 голосов
/ 03 апреля 2011

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

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

...