我在使用 python 2.6.1 运行 Snow Leopard 的 Macbook pro 上安装 psyco 时遇到了一些问题。
我一直在尝试使用命令强制 python 在 32 位模式下运行
defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
此外,我尝试了 Macport py26-psyco,它似乎完成但编译时找不到模块。
$ sudo python setup.py install
PROCESSOR = 'ivm'
running install
running build
running build_py
running build_ext
building 'psyco._psyco' extension
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/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:警告:从不兼容的指针类型传递 'PyDict_Next' 的参数 2
在来自 c/initialize.h:49 的文件中,
来自 c/psyco.c:14:
c/stats.c:在函数中“psyco_stats_reset”:
c/stats.c:260:警告:从不兼容的指针类型
c/stats.c 传递“PyDict_Next”的参数 2:在函数“psyco_stats_dump”中:
c/stats.c:298:警告:传递参数 2来自不兼容指针类型
c/stats.c 的“PyDict_Next”:在函数“psyco_stats_top”中:
c/stats.c:326:警告:从不兼容的指针类型传递“PyDict_Next”的参数 2
在 c/initialize.h 中包含的文件中:75,
来自 c/psyco.c:14:
c/Objects/pstructmember.c:在函数“PsycoMember_GetOne”中:
c/Objects/pstructmember.c:16:警告:未使用的变量“w2”<br> 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' 可能在这个函数
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/as: assembler (/usr/bin/../libexec /gcc/darwin/ppc/as 或 /usr/bin/../local/libexec/gcc/darwin/ppc/as) 用于体系结构 ppc 未安装
安装的汇编程序是: /
usr /bin/../libexec/gcc/ darwin/x86_64/as for architecture x86_64
/usr/bin/../libexec/gcc/darwin/i386/as for architecture i386
在来自 c/initialize.h:48 的文件中,
来自 c/psyco.c:14:
c /psyfunc.c:在函数“psycofunction_call”中:
c/psyfunc.c:801:警告:从不兼容的指针类型传递“PyDict_Next”的参数 2
在 c/initialize.h:49 包含的文件中,
来自 c/psyco.c:14:
c/stats.c:在函数“psyco_stats_reset”中:
c/stats.c:260:警告:从不兼容的指针类型
c/stats.c 传递“PyDict_Next”的参数 2:在函数中“psyco_stats_dump”:
c/stats.c:298:警告:从不兼容的指针类型
c/stats.c 传递“PyDict_Next”的参数 2:在函数“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'<br> 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:致命错误:错误写入 -:管道损坏
编译终止。
在 c/psyco.c:1 中包含的文件中:
c/psyco.h:13:3: error: #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 的范围有限,因此为 false:在函数“PsycoObject_Resize”中:
c/vcompiler.h:757:警告:由于数据类型的范围有限,比较始终为 false
在 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 "You may try with a Python compiler in 32-bit "
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”
c/codegen.h:23:3: 错误: #error "见http://codespeak.net/pypy/ "
c/codegen.h:24:3: error: #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:警告:从不兼容传递“PyDict_Next”的参数 2指针类型
在来自 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:警告:从不兼容的指针类型
c/stats.c 传递“PyDict_Next”的参数 2:在函数“psyco_stats_top”中:
c/stats.c:326:警告:传递“PyDict_Next”的参数 2来自不兼容的指针类型
在 c/initialize.h:53 包含的文件中,
来自 c/psyco.c:14:
c/codemanager.c:在函数“psyco_shrink_code_buffer”中:
c/codemanager.c:235:警告:格式“% d' 期望类型为“int”,但参数 3 的类型为“long int”<br> 在 c/initialize.h:60 包含的文件中,
来自 c/psyco.c:14:
c/Objects/pobject.c: In函数“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”<br> lipo:无法打开输入文件:/ var/tmp//ccjHgyCU.out (No such file or directory)
error: command 'gcc-4.2' failed with exit status