如何为 pyq 强制使用正确的架构?

How to force the right architecture for pyq?

我已经downloaded 32-bit version of kdb+ and installed q按照指示:

unzip macosx.zip -d ~/

并且我已经按照以下方式安装了 pyq

pip3 install --upgrade -i https://pypi.enlnt.com pyq

但是当 运行ning pyq 我得到的错误是:

$ pyq
Welcome to kdb+ 32bit edition
For support please see http://groups.google.com/d/forum/personal-kdbplus
Tutorials can be found at http://code.kx.com/wiki/Tutorials
To exit, type \
To remove this startup msg, edit q.q
'2015.06.06T15:29:01.334 dlopen(/Users/user/q/m32/py.cpython-34m.so, 2): no suitable image found.  Did find:
    /Users/user/q/m32/py.cpython-34m.so: mach-o, but wrong architecture
@
"q"
"py:PYSO 2:(`py;3)"
$ lipo -info `which pyq`
Non-fat file: /usr/local/bin/pyq is architecture: x86_64
$ lipo -info ~/q/m32/py.cpython-34m.so
Non-fat file: ~/q/m32/py.cpython-34m.so is architecture: x86_64

所以基本上 py.cpython-34m.so 具有 x86_64 体系结构(这很好),但是在 kdb+ 32 位版本下 运行ning 时似乎失败了。我可以安装 kdb+ 64 位,但是只有 32 位版本是免费的。

我试过 运行 它是:

$ arch -i386 pyq

强制32位架构(与arch -x86_64 pyq相同),但出现不同的错误:

arch: posix_spawnp: pyq: Bad CPU type in executable

我的架构是 x86_64 按照:

$ uname -a
Darwin MacBook-Pro-2.local 13.4.0 Darwin Kernel Version 13.4.0: Wed Mar 18 16:20:14 PDT 2015; root:xnu-2422.115.14~1/RELEASE_X86_64 x86_64 i386 MacBookPro11,3 Darwin

如何在正确的体系结构下安装 pyq 的兼容版本或将其强制为 运行?

尝试使用 gcc 32 位库从源安装?

参见:INSTALL.md

我想你可能需要 运行 这个里面的 32 位 Python。

我们建议在 Mac OSX 上使用通用库。在我们的测试中,PyQ 与预装系统 Python

配合得很好
$ lipo -info /usr/bin/python
Architectures in the fat file: /usr/bin/python are: x86_64 i386

和 Python 由 "brew" 使用 --universal 选项安装。