在Mac上的Python 2.7.3中导入.pyd(使用SWIG创建)

时间:2012-08-08 14:07:37

标签: python macos import swig

我在Windows下用SWIG创建了一个名为(_example.pyd)的.pyd文件。

我可以将文件发送到我的电子邮件,并使用相同版本的Python(Python 2.7.3)通过这个简单的命令将其导入另一台Windows机器:

.>>> import _example

.>>>

但是当我将它发送到我的电子邮件并尝试使用Mac导入文件时,我得到:

"No module named _example"

有什么想法吗?

在这两种情况下,我都将文件保存到Python路径中。

2 个答案:

答案 0 :(得分:3)

这是因为Python扩展(.pyd文件)本质上是DLL 如果您想在Mac上使用扩展程序,则需要在Mac上编译它。

http://docs.python.org/faq/windows.html#is-a-pyd-file-the-same-as-a-dll

答案 1 :(得分:0)

我曾因同一个原因遇到同样的错误:我已经从源代码构建了模块,除了我假设" .pyd" 是一个通用扩展(不管它是DLL或ELF共享对象),所以我告诉gcc创建" mymodule.pyd"而不是" mymodule.so":在Linux和Windows上,文件的内容在编译后都是正确的,但名称仅在Windows上有效。

在Linux上,一个简单的mv mymodule.pyd mymodule.so解决了它。