栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

wxPython中的“通用包装中没有匹配的体系结构”问题?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

wxPython中的“通用包装中没有匹配的体系结构”问题?

看来,附带的wxPython 2.7 DMG C扩展模块这里是仅32位。

$ cd /usr/local/lib/wxPython-unipre-2.8.11.0/lib/python2.7/site-packages/wx-2.8-mac-unipre/wx$ file *.so_animate.so:   Mach-O universal binary with 2 architectures_animate.so (for architecture ppc): Mach-O bundle ppc_animate.so (for architecture i386):    Mach-O bundle i386_aui.so:       Mach-O universal binary with 2 architectures_aui.so (for architecture ppc): Mach-O bundle ppc_aui.so (for architecture i386):    Mach-O bundle i386...

不幸的是,

platform.architecture()
它不能准确指示Python正在运行的OS X多种体系结构。例如,对于Python
2.7使用3-arch python.org安装程序,
platform.architecture()
即使在32位模式下运行,也始终报告64位。 :

$ cd /Library/frameworks/Python.framework/Versions/2.7$ file python2.7python2.7: Mach-O universal binary with 3 architecturespython2.7 (for architecture i386):  Mach-O executable i386python2.7 (for architecture ppc7400):   Mach-O executable ppcpython2.7 (for architecture x86_64):    Mach-O 64-bit executable x86_64$ arch -x86_64 ./python2.7 -c 'import platform, sys; print "{0}, {1:x}".format(platform.architecture()[0], sys.maxint)'64bit, 7fffffffffffffff$ arch -i386 ./python2.7 -c 'import platform, sys; print "{0}, {1:x}".format(platform.architecture()[0], sys.maxint)'64bit, 7fffffff$ arch -ppc ./python2.7 -c 'import platform, sys; print "{0}, {1:x}".format(platform.architecture()[0], sys.maxint)'64bit, 7fffffff

可靠的方法是检查

sys.maxint
Python 2或
sys.maxsize
Python 3。

您没有在问题中指出如何调用Python。是通过脚本文件中的shebang行吗?如果是这样,您可能没有运行您认为是的Python。另外,您不会指出已安装的Python
2.7。例如,当前有两个来自python.org的Python 2.7安装程序:一个安装程序同时支持32位和64位执行,另一个仅支持32位。请尝试以下操作:

$ file $(python2.7 -c 'import sys;print(sys.executable)')/Library/frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: Mach-O universal binary with 3 architectures/Library/frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python (for architecture i386):   Mach-O executable i386/Library/frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python (for architecture ppc7400):    Mach-O executable ppc/Library/frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python (for architecture x86_64): Mach-O 64-bit executable x86_64

因此:如果您具有Python的多体系结构版本,则需要强制其以32位模式运行,以利用预编译的wxPython。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/624870.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号