0

Python のインポート部分について、助けを求めたいと思います。小さなコマンド ライン ツールを開発したいと考えており、最小限のパッケージ構造を作成し始めました。

次のようになります。

myTool/
myTool/__init__.py
myTool/mytool.py
myTool/system/__init__.py
myTool/system/argumentparser/__init__.py
myTool/system/argumentparser/ArgumentParser.py

ArgumentParser がインポートされている mytool.py ファイルをターミナルで呼び出すと、次のエラー メッセージが表示されます。

ImportError: No module named ArgumentParser

コードは次のようになります。

import ArgumentParser
def main():
--logic--

if __name__ == "__main__":
main()

使ってみても構わない

from mytool.system.argumentparser import ArgumentParser

また

from mytool.system import ArgumentParser

Python環境がこのようなモジュールを認識できないという同様のエラーメッセージが表示されました。

私はそれに関するいくつかのチュートリアルと記事を読み、PYTHONPATH変数を静脈なしで変更しようとしました。

プロジェクトモジュールに簡単に到達するための良い解決策は何ですか?

前もって感謝します!

4

2 に答える 2

0

ArgumentParser のインポートの前にこれを追加してみてください

from system import *
from system.argumentparser import *
from system.argumentparser import ArgumentParser

または、試してみてください:

from system.argumentparser import ArgumentParser

Python がこれらのディレクトリをパッケージとしてまだ確立していない可能性があるため、init .py は .pyc にコンパイルされませんでした。または、そうすべきではないときに、インポートで myTool を参照しています。インポートは、次のディレクトリ (この場合は「mytool.system」ではなく「system」) から開始する必要があります。

于 2013-07-28T17:46:03.933 に答える
0

パッケージは argparse です。そこに ArgumentParser が存在します。

于 2013-07-28T17:36:22.360 に答える