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 = ワーム ディレクトリ内の 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

また、apple.pyddll ファイルには、公式ドキュメント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 に答える