2011-08-18 22 views
6

Ben a.py İçindeDjango ImportError

/appname 
    __init__.py 
    models.py 
    /submodule1 
     __init__.py 
     a.py 

ben ithalat aşağıdakilere sahip dizin yapısı ile kendi Django uygulaması yarattı

from ..models import Something 

benim /djangoproject klasörünün içindeki /appname varsa, bu çalışmaları tamam, ama ben Uygulamayı Python'un site paketlerine (oluşturduğum setup.py aracılığıyla) yükleyin, tüm cehennemler kopar ve a.py artık Something'u aşağıdaki e rror: adlandırılmış

from distutils.core import setup 

setup(name='appname', 
     version='0.1', 
     packages=['appname', 'appname.contrib'], 
) 

cevap

5

Dairesel bir içe aktarma hatası olduğu anlaşılmalıdır. models.py, a.py içeriyordu ve a.py, models.py içeriyordu.

bu daire ithalat sorunlarını çözmüş Breaking, ama şimdi `/ submodule1` ve` hem

+0

Bu işe kendim girdim, sadece import deyimini 'a.py' gerektiren işlevin içine koydum ama bu çok saçma görünüyor. Çözümün neydi? – Harry

2

koy boş bir dosya: __init__.py iç/Python modülü olarak ayrıştırmak böylece submodule1 İşte

ImportError: cannot import name Something 

setup.py olduğunu. Yardım etmeli. Aynı in/appname - dosya

+0

Evet '__init etmişti __. Py' :-) Python tembel değerlendirme yapmak anlamaya zamanı/'Ama hala bana ImportError 'veriyor. –