2016-09-13 2 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' и package_B' видны на вашем 'PYTHONPATH'? – kfb

+0

Этот вопрос уже был дан здесь: http://stackoverflow.com/questions/13598958/import-modules-from-different-folders – JaydenMedia

+0

@kfb, да. Приносим извинения, если неясно, но пакеты, на которые я ссылаюсь, являются довольно общими; думаю, numpy, scipy. Таким образом, они находятся на пути. Однако, если я импортировал numpy в my_file, но не в скрипте, где я импортирую файл my_file, появляется эта ошибка. То есть, как я могу убедиться, когда я вызову my_function, все соответствующие пакеты будут загружены? – user1991

ответ

-1

Возможно, несколько сценариев, вызывающих друг друга, могут импортировать несколько пакетов в каждый скрипт и не будут вызывать ошибку до тех пор, пока у вас не будут пакеты, необходимые для функций этого скрипта.

Found this link which will answer your question better

+1

«Вы не можете импортировать пакеты в один скрипт и использовать этот пакет в другом скрипте». ... Да, вы можете –

+0

Извините, мой плохой, просто отредактировал ответ. –

Смежные вопросы