1

我似乎无法在任何地方找到这个问题的答案。我只是想知道,PyPytranslate.py脚本会生成 64 位还是 32 位二进制文​​件?是否可以在我缺少的两者之间进行选择,或者 PyPy 只能生成 32 位二进制文​​件?

4

1 回答 1

2

RPython 目前根据“host-Pyhton”生成二进制文件,即通常在 32 位系统上生成 32 位二进制文​​件,在 64 位系统上生成 64 位二进制文​​件

但是,要跨位工作,您可以执行以下操作:

在 Linux 上

如果您有 64 位系统

  • 只需转换为 64 位二进制文​​件或
  • 您可以尝试在 32 位chroot环境 [ 1 , 2 , 3 , 4 ] 中进行翻译以生成 32 位环境。

如果您有 32 位系统

  • 您只能生成 32 位二进制文​​件。

在 OS X 上

在 OS X > 10.7 上,您通常使用 64 位系统,因此

  • 只需转换为 64 位二进制文​​件或
  • 使用环境变量VERSIONER_PYTHON_PREFER_32_BIT来控制python的“位数”。对于 32 位二进制文​​件,您可以运行

    PYTHONPATH=$PYPYPATH:… VERSIONER_PYTHON_PREFER_32_BIT=yes python $PYPYPATH/rpython/bin/rpython target….py
    

    请注意,您必须在这种情况下使用python(通常,rpython检测到已安装pypy并使用它),因为pypy不尊重 versioner 变量,并且首先不是作为 OS X 的 32 位二进制文​​件出现。

于 2014-03-22T16:33:09.867 回答