0
從Python relative imports for the billionth time解決方案:交互式Python - 相對進口
- 對於
from .. import
工作,因爲有在import
聲明模塊的名字必須至少有儘可能多的點。 - ...如果你交互式運行解釋......這交互式會話的名稱是
__main__
- 因此,你不能直接做相對進口交互式會話
我喜歡用互動Jupyter筆記本在編寫產品代碼之前探討數據和測試模塊。爲了讓隊友清楚和易於理解,我喜歡將筆記本放在位於我正在測試的封裝和模塊旁邊的interactive
包中。
package/
__init__.py
subpackage1/
__init__.py
moduleX.py
moduleY.py
moduleZ.py
subpackage2/
__init__.py
moduleZ.py
interactive/
__init__.py
my_notebook.ipynb
期間interactive.my_notebook.ipynb
交互式會話,你會怎麼導入其他模塊,如subpackage1.moduleX
和subpackage2.moduleZ
?
我認爲將'package'的父目錄添加到'sys.path'會更有意義。這樣你總是可以從package.subpackageN import moduleZ執行'' – theorifice