2016-08-21 129 views

回答

3

嗯,這不是技術問題,Python包擺在首位,或者它本來每個文件夾中的__init__.py。而且我很困惑,爲什麼你會把你的主程序放在你的一個文件夾中。但是我經常用來導入一個不在Python的定期檢查路徑中的文件是

import sys; sys.path.insert(0, '../dir2'); import scriptA 

希望有幫助! 欲瞭解更多信息:more on path insertion

1

下很好的解決方案是從ImportError: attempted relative import with no known parent package

您可以使用相對進口。首先改變你的目錄結構如下:

maindir\   
    main.py 
    lib\ 
     __init__.py 
     dir1\ 
      __init__.py 
      MAINSCRIPT.py 
     dir2\ 
      __init__.py 
      scriptA.py 

MAINDIR \ LIB \ DIR1 \ MAINSCRIPT.py

from ..dir2 import scriptA 
... 

MAINDIR \ main.py現在

import lib.dir1.MAINSCRIPT 

,我們可以從maindir\調用腳本:

python main.py