2012-03-15 10 views
1

私はJavaのプログラマーです。私はPythonでいくつかのモジュールを開発し始めました。 抽象レイヤーをパッケージで分割しようとしましたが、不幸にも、ルートパッケージ(hokuspokus.py)にクラス の内部パッケージ(videofactory.py)にアクセスしようとするクラスがあり、エラーImportErrorが発生します: media.videofactoryという名前のモジュールはありません。ImportError:No module <module_name>

は、私はまた、すべての私のファイルがうまくrunned同じパッケージ(hokuspokus)、すべてにあったテストを行った:(

私は、WindowsとPyDevはとのAptana Studioの3。

のPython 2.7を使用しています

私はPYTHONPATHをチェックし、プロジェクトのルートフォルダは、ソースフォルダとしてそこにいた 私はこのモジュールとPyDevはコンフィグのためのすべての私のコードでGoogleのコードプロジェクトを作成しました:。http://code.google.com/p/hokuspokus-py/source/checkout

Package Structure: 
HokusPokus (source folder) 
| 
----hokuspokus (root package) 
    | 
    --- media (inner package) 
    | | 
    | ----videofactory.py 
    | 
    | 
    ---- hokuspokus.py 
+1

+1 [SSCCE](http://sscce.org)を実際に提供し、それにリンクする場合もあります。しかし、私は 'hokuspokus/media/mediafactory.py'を見つけることができません。 – phihag

+0

Aptana Studioまたはシェルからコードを実行しているときにエラーが発生しますか? –

+0

@burhan私はAptanaから走る – ArturEld

答えて

2

試し:

from media.videofactory import VideoFactory 

輸入あなたがしたいインポートあなたのモジュール内のすべての要素がuが使用できるかどうか、あなたのモジュール のうち具体的なクラス:

from media.videofactory import * 

が、そのない最良の方法。

+1

うん!出来た。興味深いことに、私のすべてのインポートは、EclipseのCTRL + SHIFT + Oの古典的なホットキーを使用して行われ、ルートクラスは 'hokuspokus.media.videofactory import VideoFactory'から追加されました。私はあなたが言ったように、私はimportevからルートパッケージ(hokuspokus)を削除し、美しくrunned erything。ありがとう – ArturEld