if __name__ == "__main__": не работает, если в файле есть тестовая функция (работает при работе в терминале) - PullRequest
0 голосов
/ 17 июня 2019

Проблема в том, что в main.py есть тест, и я вызываю тест в пределах if __name__ == "__main__":. Тем не менее, я продолжаю получать ошибку «пропущенные аргументы». Я даю аргументы тестовой функции при ее вызове.

Я попытался удалить if __name__ == "__main__":. И это имеет тот же результат, что и работа в терминале.

def test_tf_implementation(cache_file, weights_path, all_layer_outs=False):
    tf_model = get_weighted_tf_implementation(weights_path, 
    all_layer_outs)
    roidb = get_test_data(cache_file)
    results = test.test_net(tf_model, roidb)
    return results

if __name__ == "__main__":
    results = 
    test_tf_implementation(cache_file="roidb_test_19_smol.pkl", 
    weights_path="rgbd_det_iter_40000.h5")

Вот ошибка, которую я получаю:

TypeError: test_tf_implementation() missing 2 required positional arguments: 'cache_file' and 'weights_path'

При работе в терминале все работает нормально. Кто-нибудь знает, что здесь происходит?

...