3

ここに私の構造があります、

main.py
folder1\
    button.py
    folder2\
        picturebutton.py
folder3\
     listbox.py
     folder4\
         customlistbox.py
         folder5\
             hyperlistbox.py

今、

「widget.py」というモジュールがあり、ここにあるすべてのモジュールにアクセスできるようにして、各モジュールがimport widget何かを言うことができるようにしたいと思います。グーグルで調べたところ、これを行うにはパッケージを作成する必要があるようです。

オンラインの例がどのように機能するのかわからないため、機能できませんでした。あなたの1人が私のケースで私を助けてくれることを願っています.

編集:すべてのフォルダー(ルートフォルダーを除く)には__init__.pyファイルがあります。

4

2 に答える 2

2

他のモジュールをインポートできるようにするために、それをパッケージにする必要はありません。widgetモジュールを に配置する必要がありますPYTHONPATH。通常、それをインストールすることでそれを行います(setup.pyファイルを作成します。標準ライブラリのdistutilsモジュールを参照してください)。

ただし、パッケージが必要な場合は、パッケージにする必要があるすべてのフォルダーに__init__.pyファイルが必要です (空でもかまいません)。

于 2012-07-31T22:56:12.407 に答える
0

適切な方法は、パッケージの setup.py ファイルを作成することですが、時間がかかる場合があるためです。以下はショートカットです。

モジュールを頻繁に使用したい場合は、 script のようにします。簡単な方法は、「PYTHONPATH」を bashrc/zshrc ファイルにエクスポートし、コードを含むディレクトリへのパスを指定することです。

例えば:

   export PYTHONPATH=$PYTHONPATH:$HOME/path/to/package  

を使用して端末で確認してください

echo "$PYTHONPATH"  

ハッピーコーディング

于 2014-10-29T04:51:11.897 に答える