1

好的,所以,我要做的是在 .pyd 文件中的文件夹中导入一个模块。这是对我有用的东西:

from apple import __init__

apple 是与 Python 脚本在同一目录中的 .pyd,而 __init__ 当然被打包在 .pyd 中。这会起作用,但是这是我想做的,但不起作用:

from apple.seed.worm import WormManager

解释:apple = pyd,seed = pyd 中的目录,worm = apple pyd 中seed 目录中的目录,WormManager = worm 目录中的python 模块。

但是,它不起作用,并导致找不到模块 ImportError 认为种子是一个模块(并且在打包之前种子目录中有一个 __init__ )。当然它存在并被打包在 .pyd 中,但它根本不起作用。我什至这样做了:

from apple.seed import __init__

但即使这样也行不通,所以我知道我没有导入这个权利。

我真的找不到正确的语法来让它在互联网上工作,当然我知道如何在不涉及 pyd 的情况下做到这一点,所以有帮助吗?

4

2 回答 2

0

我不确定,但我认为 Python 无法动态发现内部 pyd API 而不先导入它。

您应该先尝试导入 pyd:

import apple

然后您可以(可能)访问内部 API:

WM = apple.seed.worm.WormManager

此外,您的dllapple.pyd文件必须包含官方文档中的函数。如果没有,或者定义不明确(没有定义所有子模块),这可以解释为什么你不能做.PyInit_apple()from apple ...

于 2016-10-02T21:03:27.413 回答
-1

您需要先从命令行运行C:\path\to\pip\tool\pip install pyd

于 2015-09-13T06:01:26.890 回答