2016-09-13 26 views
0

說我有一些腳本,功能my_function。現在,這個功能需要幾個包。所以,讓我們說,文件看起來像這樣:從腳本調用函數,重新導入所有包?

import package_A 
import package_B 

def my_function(): 
    do_something 

現在,如果我想在其他地方使用這個功能,我可以說

from my_file import my_function 
my_function() 

然而,在這一點上,呼叫將停止package_A和package_B未知的錯誤。

我該如何解決這個問題?我是否必須在my_function的腳本中再次使用我爲my_function做的所有進口?如果是這樣,是否有辦法自動檢查並導入該文件中的所有導入?

+2

是'package_A'對你的'PYTHONPATH'的位置和'package_B'可見? – kfb

+0

此問題已在此處得到解答:http://stackoverflow.com/questions/13598958/import-modules-from-different-folders – JaydenMedia

+0

@kfb,是的。我很抱歉,如果它不清楚,但我在這裏提到的軟件包是相當通用的軟件包;認爲numpy,scipy。所以這些都在路上。但是,如果我已在my_file中導入numpy,但未導入my_file的腳本中,則會顯示此錯誤。也就是說,我怎樣才能確保當我打電話my_function,所有相關的軟件包將被加載? – user1991

回答

-1

您可以通過多個腳本互相調用可以在每個腳本中導入多個包,並且只有在該腳本中的函數需要包時纔會拋出錯誤。

Found this link which will answer your question better

+1

「你不能在一個腳本中導入包,並在另一個腳本中使用該包。」...是的,你可以 –

+0

對不起,我只是編輯了答案。 –