在pyd中导入python文件时导入ErrorError

时间:2015-09-13 05:32:50

标签: python python-2.7 import importerror pyd

好吧,我正在尝试做的是在.pyd文件中打包的文件夹中导入一个模块。这对我有用:

from apple import __init__

苹果是与Python脚本在同一目录中的.pyd,而__init__当然是在.pyd内部打包的。这可行,但这是我想做的,但不起作用:

from apple.seed.worm import WormManager

说明:apple = pyd,seed = pyd中的目录,worm = apple pyd中种子目录中的目录,蠕虫目录中的WormManager = python模块。

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

from apple.seed import __init__

但即便如此,我知道我没有输入这个权利。

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我不确定,但我认为Python无法在不先导入的情况下动态发现内部pyd API。

你应该先尝试导入pyd:

import apple

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

WM = apple.seed.worm.WormManager

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