2014-04-15 177 views
1

我一直試圖關注django教程,並開始使用python過去的幾天,但我一直陷在每一個相同的點,並且看起來似乎無法找到解決方案。'No module named ...'on import

我有一個目錄代表一個django「應用程序」,在這種情況下稱爲rango

在rango裏面我有一個views.py文件和一個urls.py文件。我也有在同一文件夾__init__.py,所以我的目錄看起來是這樣的:

rango 
    │ 
    ├── __init__.py 
    ├── views.py 
    └── urls.py 

現在,當我補充一下:

from rango import views 

urls.py文件我得到一個錯誤'No module named rango'

我讀一堆其他問題和人們建議加入

import sys 
sys.path.append(".") 

但這並沒有改變任何東西。仍然得到相同的錯誤。

任何人有任何想法可能會發生什麼?

在windows上使用python 2.7

+0

請提供完整的堆棧跟蹤。 – bosnjak

+0

回溯(最近通話最後一個): 文件 「C:\用戶\ MOE \桌面\編程\ Python的\探戈\ tangoproject \蘭戈\ urls.py」,1號線,在 從蘭戈進口觀點 導入錯誤:沒有模塊命名爲rango [以0.1s結束,退出代碼1] – moe

+0

您可以嘗試sys.path.append('/ path/to/dir/contained/rango') – dstromberg

回答

1

考慮使用相對導入。

urls.py

from . import views 

__init__.py

__package__ = 'rango' 
+1

感謝您的建議,使用該導入我得到一個不同的錯誤: ValueError:試圖在非包中的相對導入 這應該至少有助於澄清問題是什麼,對嗎? 我真的很陌生,但我認爲__init__.py文件告訴python該目錄是一個包,這讓我感到困惑,爲什麼它調用的目錄是'非包' – moe

+0

你想要'導入從同一個目錄中的python shell的urls'?如果是這樣,則會導致該錯誤。 – dilbert

+0

我從urls文件中導入視圖,視圖和url都位於rango目錄內。 當我嘗試構建urls.py時,出現錯誤,它在從rango導入視圖中引發錯誤,因爲它表示沒有名爲rango的模塊 – moe