имя <> не определено при импорте (Python 3) - PullRequest
0 голосов
/ 16 июня 2019

У меня есть следующий вспомогательный модуль (prepare_test_data.py):

    import numpy as np
    ..
    def change_cap():
    ..
       rand_cap_token = lambda c: c if np.random.random() > cap_rate else c.upper()
    ..
    def cap_ubs_format ():
       curr_text = change_cap(exp_resp["text"], cap_rate, by_token)

Я импортирую этот модуль в блокнот:

import numpy as np
from Fill_templates import prepare_test_data

и попробуйте запустить функцию cap_ubs_format :

prepare_test_data.cap_ubs_format('test.json', req.json', 0.5, True)

но выдает ошибку:

~/Fill_templates/prepare_test_data.py in <lambda>(c)
    166         return text.lower()
    167     # capitalize each token at random
--> 168     elif by_token:
    169         rand_cap_token = lambda c: c if np.random.random() > cap_rate else c.upper()
    170         return ' '.join([rand_cap_token(c) for c in text.split()])

NameError: name 'np' is not defined

Кажется, что он не может распознать, что 'np' означает 'numpy', хотя и модуль (prepare_test_data.py), и блокнот импортируют его явно.

Что здесь происходит? Как я могу сделать NumPy видимым?

...