我在名为(_example.pyd)的窗口下用SWIG创建了一个.pyd文件。
我可以使用以下简单的命令将文件发送到我的电子邮件,并使用相同版本的Python (Python 2.7.3)将其导入到另一台Windows计算机上:
.>>> import _example
.>>>但当我将其发送到我的电子邮件中,并尝试使用Mac导入该文件时,我收到:
"No module named _example"有什么想法吗?
在这两种情况下,我都将文件保存到Python路径中。
发布于 2012-08-08 22:37:53
这是因为Python扩展(.pyd文件)本质上是DLL。
如果你想在Mac上使用你的扩展,你需要在Mac上编译它。
http://docs.python.org/faq/windows.html#is-a-pyd-file-the-same-as-a-dll
发布于 2017-12-24 07:51:04
我曾经因为一个不同的原因而犯过同样的错误:我已经从源代码构建了这个模块,除了我假设".pyd"是一个通用扩展(无论是DLL还是一个ELF共享对象),所以我告诉gcc创建"mymodule.pyd“而不是"mymodule.so":在Linux和Windows上,文件的内容在编译后都是正确的,但是名称只在Windows上有效。
在Linux上,一个简单的mv mymodule.pyd mymodule.so就解决了这个问题。
https://stackoverflow.com/questions/11866288
复制相似问题