我從Python人口腳本引用Django應用程序。從子文件夾引用Django應用程序
這一直工作正常人口腳本把當在同一文件夾中my_project
,如下圖所示:
if __name__ == '__main__':
print "Starting population script..."
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'my_project.settings')
from persons.models import Person, Contact
populate()
但現在我想將我的人口腳本(這不是一個Django應用程序)到稱爲population/
的子文件夾。嘗試此操作後發生以下錯誤:
ImportError: No module named persons.models
。
所以我試圖將導入更改爲絕對導入:from my_project.persons.models import Person, Contact
。
然而這產生了ImportError: No module named my_project.persons.models
。
我嘗試了一個相對輸入,也是from .my_project.persons.models import Person, Contact
,但是輸出爲ValueError: Attempted relative import in non-package
。
我在做什麼錯?
我在Windows下的virtualenv中使用Django 1.6和Python 2.7。
似乎沒有要任何東西Django的具體位置,它看起來像你剛纔沒有你的'PYTHONPATH'適當設置。 –
你在使用virtualenv嗎? – Jiloc
@Dorian:是的,我正在使用virtualenv。讓我更新這個問題。 – SaeX