0

私は Eclipse と PyDev を使用して、Kivy という Python ライブラリの開発を行っています。

適切なセットアップ手順を実行したところ、Eclipse からの開発と実行は完璧に機能しました。

ただし、私、または私のプロジェクト仲間である namley が (kivy cmd プロンプトを介して) eclipse の外側で main メソッドを含むファイルを実行しようとすると、次のエラーが発生します。

   File "C:\MyProject\code\main.py", line 8, in <module>
     from code import engine
 ImportError: cannot import name engine

ファイルコードは基本的に次のとおりです。

from kivy.app import App
from kivy.clock import Clock
from kivy.uix.screenmanager import ScreenManager
from code import engine

class MyApp(App):
    def build(self):
        pass

if __name__ == '__main__':
    MyApp.run()

プロジェクトファイルを調べました。たくさんのinit .py ファイルがあります

code/
    __init__.py
    main.py
    engine.py
    system1/
        __init__.py
        my_system.py
etc...

しかし、すべてのinit .py ファイルは空です! それらを手動で構築することになっていますか?Eclipse がある時点でそれを実行している必要があります。PyDev に自動的に実行させることはできますか?

4

1 に答える 1

1

空の__init__.pyファイルは、Python (バージョン 3.2 まで) がディレクトリを Python パッケージとして識別し、その内容をモジュール/サブパッケージとして識別するために必要です。

あなたがそれらを作成しなかった場合、PyDev はそれらを作成しました - そしてそれらは何も含む必要はありません。

あなたの仲間が述べたようにインポートできない場合はcode.engine、それ自体を含むディレクトリがcodePython のパス (PYTHONPATH 環境変数) の一部ではない可能性が高いため、コード パッケージに降りる場所を見つけることができません。

于 2013-03-08T19:57:09.193 に答える