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

问题描述 投票:3回答:2

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

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

.>>> import _example

.>>>

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

"No module named _example"

有任何想法吗?

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

python macos import swig
2个回答
3
投票

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

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.