【问题标题】:Installing psyco for python on Snow Leopard在雪豹上安装 psyco for python
【发布时间】:2011-04-02 21:43:43
【问题描述】:

我在运行 Snow Leopard 和 python 2.6.1 的 Macbook pro 上安装 psyco 时遇到了一些问题。

我一直在尝试使用命令强制 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-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 -c c/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:警告:从不兼容的指针类型传递“PyDict_Next”的参数 2
c/stats.c:在函数“psyco_stats_dump”中:
c/stats.c:298:警告:从不兼容的指针类型传递“PyDict_Next”的参数 2
c/stats.c:在函数“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”
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:汇编程序(/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:警告:从不兼容的指针类型传递“PyDict_Next”的参数 2
在 c/initialize.h:49 包含的文件中,
来自 c/psyco.c:14:
c/stats.c:在函数“psyco_stats_reset”中:
c/stats.c:260:警告:从不兼容的指针类型传递“PyDict_Next”的参数 2
c/stats.c:在函数“psyco_stats_dump”中:
c/stats.c:298:警告:从不兼容的指针类型传递“PyDict_Next”的参数 2
c/stats.c:在函数“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”
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: #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 "您可以尝试使用 32 位编译的 Python"
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 "2006 年可重新定位 Psyco-for-PyPy。"
c/codegen.h:23:3: 错误:#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:警告:从不兼容的指针类型传递“PyDict_Next”的参数 2
在 c/initialize.h:49 包含的文件中,
来自 c/psyco.c:14:
c/stats.c:在函数“psyco_stats_reset”中:
c/stats.c:260:警告:从不兼容的指针类型传递“PyDict_Next”的参数 2
c/stats.c:在函数“psyco_stats_dump”中:
c/stats.c:298:警告:从不兼容的指针类型传递“PyDict_Next”的参数 2
c/stats.c:在函数“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”
在 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”失败,退出状态

【问题讨论】:

    标签: python macos osx-snow-leopard psyco


    【解决方案1】:

    在编译之前尝试这样做: 出口 ARCHFLAGS="-arch i386" 然后在 setup.py 中

    替换 extra_link_args = [ ] 和 extra_link_args = [ '-L/Developer/SDKs/MacOSX10.6.sdk/usr/lib' ]

    然后运行: python setup.py 安装

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      我在使用 OS X 10.7 的 MacBook Pro 上遇到了同样的问题。

      我能够使用“sudo python2.5 setup.py install”编译它

      不是它像魅力一样起作用。希望这对其他人有帮助。

      【讨论】:

        【解决方案3】:

        我没有您的问题的答案,但作为替代方案,您是否尝试从源安装,详细说明 herehere?

        此外,您还可以通过在终端中调用命令python2.6-32 来强制使用 32 位 python,这对于测试目的可能会更方便一些。

        【讨论】:

          【解决方案4】:

          there is an easy way out时为什么要自己编译?

          1. 安装ActivePython 2.6 for Mac
          2. 打开终端并输入pypm install psyco

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-11-30
            • 2010-12-09
            • 2011-03-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多