goh*_*goh 6 python macos numpy scipy
嘿家伙我是Mac的新手所以请耐心等待.
我现在正在使用雪豹10.6.4.
我想安装numpy和scipy,所以我从他们的官方网站下载了python2.6,numpy和scipy dmg文件.但是,我有问题导入numpy:
Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/numpy/core/multiarray.so: no matching architecture in universal wrapper
Run Code Online (Sandbox Code Playgroud)
任何人都可以解决这个问题吗?>
听起来好像你可能试图使用64位Python的32位库.看起来有一个非官方的64位Numpy可用于Snow Leopard.
编辑:这里提供的Python 2.6 .dmg 确实是32位.(具体来说,它是一个包含i386和ppc版本的通用二进制文件).同样是普通numpy的和可用的SciPy的的.dmg版本的真正在这里.(我怎么知道?见下文!)所以,如果你一起使用这些版本,你应该没问题.
但你不行 - 所以我猜你没有使用你下载的2.6 .dmg的Python版本.如果您正在运行可执行的python脚本,例如:
$ ./my-script.py
Run Code Online (Sandbox Code Playgroud)
然后你可以尝试在命令行中明确指定你使用的Python.看起来像MacPython .dmg安装到/ usr/local/bin/python,所以尝试:
$ /usr/local/bin/python2.6 myscript.py
Run Code Online (Sandbox Code Playgroud)
有什么喜悦?
我如何确定架构,这些.dmg文件的内容是为...而构建的...
使用gunzip和pax将包内容解压缩到本地目录,例如:
$ mkdir tmp
$ cd tmp
$ gunzip -c /Volumes/Universal\ MacPython\ 2.6/MacPython.mpkg/Contents/Packages/PythonUnixTools-2.6.pkg/Contents/Archive.pax.gz | pax
Run Code Online (Sandbox Code Playgroud)使用file
检查包中的内容二进制文件
$ file Versions/2.6/bin/python
Versions/2.6/bin/python: Mach-O universal binary with 2 architectures
Versions/2.6/bin/python (for architecture ppc): Mach-O executable ppc
Versions/2.6/bin/python (for architecture i386): Mach-O executable i386
Run Code Online (Sandbox Code Playgroud)当我在Mac OSX 10.6.8上尝试在python2.7中新安装的numpy和scipy时,我有同样的错误消息.后来我发现python2.7有两个.dmg:
这是10.3.dmg中的包给了我关于multiarray.so的错误消息.在10.6.dmg中安装一个后,我摆脱了这个错误信息.