2017-04-03 59 views
0

我是python的新手,我有這個django項目,它實際上必須與我的同事建立的python包進行通信。比方說,結構如下django項目中的python包的導入錯誤

-Mydjangoproject 
     -myapp 
     -views.py 
     -models.py 

     -Mydjangoproject 
     -settings.py 
     -urls.py 

     -manage.py 

     -db.sqlite3 

     -colleagues_python_package 
     -package1 
      -script1.py 
      -script2.py 
     -package2 
      -info1.py 
      -info2.py 

當我嘗試運行我的同事的script1.py它具有以下代碼導入,

from colleagues_python_package.package2 import info1 

它拋出我的錯誤

ImportError: No Module named colleagues_python_package.package2

如果在我的同事的系統中運行,這是有效的。是否因爲此包未在PYTHONPATH中設置?我如何解決這個問題和解釋? (並且這個包必須在django項目中)

+2

您是否錯過'__init __。py'文件? –

+0

沒有它們在所有文件夾內可用 – Yogi

+0

您是否使用虛擬環境? – nomad

回答

2

好吧,我發現我必須導入使用[點]的。例如,如果我想運行SCRIPT1,我將不得不進口INFO1如下

from ..package2 import info1 

表示很喜歡,

1 dots - current folder 
2 dots - current folder's parent 
3 dots - current folder's parent's parent 

希望我是不是混亂。

1

嘗試從python manage.py shell導入模塊並查看是否會收到任何錯誤。