Итак, я обнаружил проблему при "создании" модулей. Скажем, я создаю красивый модуль с именем foo
, в котором я определяю функцию с именем function
, которая зависит от numpy
:
foo.py:
"""
This is foo a nice module
"""
import numpy as np
def function(parameter):
return(np.zeros(parameter))
Затем в другом скрипте я хочу вызвать свой модуль:
import foo
Итак, моя проблема в том, что модуль numpy
загружен внутри foo, поэтому я могу вызвать его из foo (например, я могу foo.np.zeros()
)
Есть ли какой-либо способ, о котором я не знаю, в котором модуль все еще будет работать без загрузки всех numpy
в него (естественно, numpy
должен быть загружен глобально, поэтому foo работает, но я не Я не хочу, чтобы он был доступен из foo.np
)
До сих пор я пробовал:
if __name__ == '__main__':
import numpy as np
Но это ломает модуль foo
, даже если numpy
загружен.