7

次のようにパッケージを使用してプログラムをセットアップしました。

-base
    -init.py
    -base_class.py
-test
    -init.py
    -test.py

で import ステートメントfrom base.base_class import BaseClasstest.py実行すると、実行時に次のエラーが発生します。

from base.base_class import BaseClass
ImportError: No module named base.base_class

このモジュールをインポートするにはどうすればよいですか?

4

4 に答える 4

7

test.py の先頭に追加

import sys
sys.path.append("..")

ベースはパス上のフォルダーではありません...これを変更すると機能するはずです

または、base と同じフォルダーに test.py を配置します。またはあなたの道にあるどこかにベースを移動します

于 2013-07-31T16:45:04.350 に答える
2

__init__.pyインポート元の各フォルダーにファイルが必要です

于 2013-07-31T16:45:23.643 に答える
1

Python ディレクトリに" " というファイルを作成する必要があります。そう__init__.pyすれば、「Python」はそのディレクトリを Python パッケージとして認識します。

于 2013-07-31T16:46:30.617 に答える
1

できることは 3 つあります。

init.py各フォルダにファイルを追加する

sys.path.append("Folder")上に追加

または imp と do を使用します。

import imp
foo = imp.load_source('filename', 'File\Directory\filename.py')

たとえば、 foo はモジュールの名前になりますfoo.method()

于 2013-07-31T16:48:02.747 に答える