1

import logging単一行: を含むモジュールをweb2py プロジェクトにインポートしようとしています。というパッケージ内からモジュールをインポートしようとするとmymodules<type 'exceptions.NameError'> name 'logging' is not defined errorが表示されますが、モジュールをパッケージから取り出して直接インポートすると、正常に動作します。

mymodule.py:

import logging

最上位のモジュール ディレクトリからインポート:
import mymodule- 正常に動作します

パッケージからのインポート:
from mymodules import mymodule- 名前エラーの取得

パッケージには何も問題はありません - 問題なくインポートできる他のモジュールがあります。なぜこれが起こっているのかについての手がかりはありません。

4

3 に答える 3

1

mymodule をインポートしたら、mymodule.logging単に ではなくを参照する必要がありますlogging

于 2012-05-11T22:29:53.807 に答える
0

これは、パッケージ内に残っていたいくつかの古い .pyc ファイルが原因で発生していました。これらのファイルが、ログの参照不良を引き起こしているに違いありません。それらをクリアしたら、問題は解決しました。:S

于 2012-05-12T13:28:15.897 に答える
0

.pyまず、インポート ステートメントにファイル拡張子を追加する必要はありません。したがって、次のようになります。

import mymodule
mymodule.logging.info("Just some info")

アンソニーは正しいですが、そこからロギングを使用できるようにしたい場合はmymodule.logging、ワイルドカードインポートを使用することもできますが、mymodule.

from mymodule import *
#now you can use logging directly
logging.info("Just some info")
于 2012-05-12T02:27:52.823 に答える