2012-01-14 18 views
0

DjangoのプロジェクトでPython2.7でEclipse/PyDevを使用しています。私のアプリケーション(app1と言う)の中には、models.pyに定義されている変数があり、リストに割り当てられています。私はこれらを他のappのmodels.pyにインポートすることに失敗しています(app2)。プロジェクトがprojectNameと呼ばれているとします。Python:変数のインポートに失敗する

PROJECTNAME/APP1/models.py

VARIABLE_NAME = (
    ('a', 'choice1'), 
    ('b', 'choice2'), 
) 

PROJECTNAME/APP2/models.py

from projectName.app1.models import VARIABLE_NAME 

私は、未解決のインポートのエクリプスからエラーを受信して​​います:VARIABLE_NAME

どれをアイデア?

答えて

1

解決策が見つかりました。 yanxhangが指摘しているように、これはPYTHONPATHの問題です。 EclipseのPreferencesのPyDev> Interpreterで、System PYTHONPATHの一番下のウィンドウで、projectNameの親フォルダを追加して適用をクリックしてください。これにより、projectNameが自身とそのすべての子を解決することができます。

1

PyDevのEclipse APIも私にとってこれを行います。それは...インポート...スタイルのインポートが実際に実際のインポートに解決するかどうかを調べる際に問題があります。これは私にとっては普通のようです。プログラムを実行すると、おそらく動作します。もしそうでなければ、それはおそらくあなたの誤りである可能性があります。

1

私は、次は何が起こっているかだと思う:

1)Eclipseは、あなたがインポートしようと見ているが、ProjectNameは、パッケージではありません(あなたが明示的にこれを追加しない限り)のsys.pathに、それは素晴らしいことであり、あなたに不平を言う。

2)問題は、projectNameがパッケージではないことです。少なくともまだはない。 https://docs.djangoproject.com/en/dev/ref/django-admin/によると、 "さらに、manage.pyはあなたのプロジェクトのパッケージをsys.pathに置きます。"

このように私は "エラー"を無視しますが、Eclipseが技術的に正しいとは限りませんが、インポートすることはできません。 Djangoのセットアップのポイントは、 "python manage.py runserver"を実行したときにprojectNameが実際に利用できるようになるためです。 =)

関連する問題