如何使用Xcode构建python扩展

如何使用Xcode构建python扩展,python,xcode,macos,python-extensions,Python,Xcode,Macos,Python Extensions,请求:是否有人可以自上而下发布一个创建Xcode项目的方法,该项目将编译C代码以构建Python扩展?我在这里看到过几篇涉及这个主题的帖子,但它们似乎混淆不清,不完整,而且不一致 具体问题: Mac Python 2.7能否加载.dylib?我的朋友冷淡地忽略了他们 将.dylib重命名为.so文件扩展名真的能解决这个问题吗?不同的帖子在这个问题上存在分歧 .dylib和.so实际上是不同的格式吗?我是否可以在Xcode中进行设置,使其输出为true.so格式 如果Python无法加载扩展文件,

请求:是否有人可以自上而下发布一个创建Xcode项目的方法,该项目将编译C代码以构建Python扩展?我在这里看到过几篇涉及这个主题的帖子,但它们似乎混淆不清,不完整,而且不一致

具体问题:

  • Mac Python 2.7能否加载.dylib?我的朋友冷淡地忽略了他们

  • 将.dylib重命名为.so文件扩展名真的能解决这个问题吗?不同的帖子在这个问题上存在分歧

  • .dylib和.so实际上是不同的格式吗?我是否可以在Xcode中进行设置,使其输出为true.so格式
  • 如果Python无法加载扩展文件,是否有工具对其进行诊断?是否有任何方法可以插入该文件,查看其格式,并查看是否与所需内容匹配

  • 当我将.dylib重命名为.so时,我收到以下错误消息:

  • ImportError:dlopen(/Library/Python/2.7/site-packages/pypower.so,2):未找到合适的映像。确实发现: /Library/Python/2.7/site-packages/pypower.so:mach-o,但架构错误


    我的项目的目标是“32位英特尔”体系结构。我真的需要使用32位,因为我正在链接的一些旧库。Python在加载32位库时会遇到问题吗?有没有办法弥补这一差距?

    当前版本的Mac OS X中的Python可执行文件只有64位,因此它加载的任何扩展也必须是64位的。如果您的库仅适用于32位系统,则无法从Python扩展链接到它。一个可能的解决方案可能是使用一个单独的32位可执行文件加载库,然后从Python扩展与该可执行文件通信。

    BTW,export VERSIONER\u Python\u preference\u 64\u bit=no export VERSIONER\u Python\u preference\u 32\u bit=yes in.bash\u profile没有帮助。我使用的是10.7.5。从源代码构建32位Python有多难?听起来这是我最后一次最好的解决办法了。