2016-02-25 32 views
1

對不起第二次問我自己的問題,但我完全卡在import file python。更好的方法在嵌套目錄中使用腳本PYTHONPATH

我有下面的目錄結構:

|--test/foo.py 
|--library #This is my PYTHONPATH 
|--|--script1.py 
|--|--library_1 
|--|--|--script2.py 
|--|--library_2 
|--|--library_3 

我從test/foo.py訪問library/library_1/script2.py

在這裏我很困惑什麼是更好的方法。通常應將所有庫文件夾或實用程序功能添加到pythonpath

這是我正在維護的文件夾結構,以區分實用程序功能和測試腳本。

我試着把__init__.py放在庫和庫中1 &然後像from library1 import script2那樣導入,但是得到的錯誤是No module named script

我曾嘗試將該路徑追加到系統路徑。

工作:如果我添加另一個pythonpathpath/to/library/libray_1/。那麼我應該對library文件夾中的所有文件夾執行此操作嗎?

回答

0

這裏就是你需要做的:

|--test/foo.py 
|--library #This is my PYTHONPATH 
|--__init__.py 
|--|--script1.py 
|--|--library_1 
|--|--|--__init__.py 
|--|--|--script2.py 
|--|--library_2 
|--|--|--__init__.py 
|--|--library_3 
|--|--|--__init__.py 

而且第一__init__.py下方庫中,你需要做的:

import library1 
import library2 
import script 

然後,如果library是你的Python路徑,你可以這樣做在test/foo.py內無誤:

import library 
library.library1.bar() 
library.script.foo()