Python. Невозможно импортировать несколько функций из файла - PullRequest
0 голосов
/ 13 апреля 2020

У меня странная проблема, которую я не понимаю. У меня есть файл date_import.py с несколькими функциями в нем. (Я не хочу показывать эти функции здесь, потому что они все довольно длинные.) Я хотел бы импортировать эти функции в Jupyter. Поэтому я пишу 'из date_import import func1', и это работает. Но если я напишу 'из date_import import func1, func2', я получу ответ "не могу импортировать имя func2". Также, если я напишу 'из date_import import func2', я получу тот же ответ. Сначала я подумал, что python как-то не видит изменений в моем файле. Но если я изменю код в func1 и использую inspect.getsource, тогда я вижу, что python принимает изменения. Но я все еще не могу импортировать другие функции, только func1. Кто-нибудь видел такое поведение и знает какой-то способ? Заранее спасибо.

PS. Вот функция 2.

def func2(stichtag_sql):

    sql = """(select distinct .....
)"""

    tab = sqlContext.read.jdbc(url=jdbcURL, table=sql, properties=prop).cache()
    totale_wbs = tab.toPandas()
    totale_wbs.columns = map(str.lower, totale_wbs.columns)

    totale_wbs.kdnr =totale_wbs.kdnr.astype(str)

    return totale_wbs

Ответы [ 2 ]

1 голос
/ 13 апреля 2020

если вы создали свою функцию func_2 после того, как импортировали свой модуль date_import, вам необходимо повторно импортировать ваш модуль:

import importlib
importlib.reload(date_import)
0 голосов
/ 13 апреля 2020

попробуй:

from date_import import (func1, func2)
...