import my_module или from my_module import my_function.
  sys.path:
  import sys
sys.path.append('/путь/к/директории')
import my_modulePYTHONPATH.
  .py.
Для импорта собственного модуля в Python есть несколько способов. Рассмотрим основные, вместе с примерами и объяснениями:
1. Модуль в той же директории, что и основной скрипт:
Допустим, у вас есть два файла:
my_module.py (содержит ваш модуль)main.py (основной скрипт)my_module.py может выглядеть так:
# my_module.py
def my_function():
  print("Привет из my_module!")
my_variable = 42
main.py может выглядеть так:
# main.py
import my_module
my_module.my_function()  # Вызов функции из модуля
print(my_module.my_variable)  # Доступ к переменной из модуля
# Или, если вы хотите импортировать конкретные элементы:
from my_module import my_function, my_variable
my_function()
print(my_variable)
# Или, чтобы импортировать все элементы (не рекомендуется):
from my_module import *
my_function()
print(my_variable)
# Или, чтобы дать модулю псевдоним:
import my_module as mm
mm.my_function()
print(mm.my_variable)
2. Модуль в поддиректории:
Допустим, у вас структура такая:
main.pymy_package/
      __init__.py (необязательный, но рекомендуемый)my_module.pymy_package/__init__.py может быть пустым или содержать код инициализации пакета.
main.py может выглядеть так:
# main.py
import my_package.my_module
my_package.my_module.my_function()
print(my_package.my_module.my_variable)
# Или:
from my_package import my_module
my_module.my_function()
print(my_module.my_variable)
# Или:
from my_package.my_module import my_function, my_variable
my_function()
print(my_variable)
#Если __init__.py содержит импорт, например `from .my_module import my_function, my_variable`,
#тогда из main.py можно импортировать непосредственно из пакета:
#from my_package import my_function, my_variable
3. Модуль в другой директории, не являющейся поддиректорией:
В этом случае вам нужно добавить путь к директории, содержащей модуль, в sys.path.  Это можно сделать двумя способами:
А) Временно (внутри скрипта):
# main.py
import sys
import os
# Предположим, модуль находится в директории 'path/to/my_module'
module_path = os.path.abspath('path/to/my_module')  # Используем абсолютный путь
if module_path not in sys.path:
  sys.path.append(module_path)
import my_module
my_module.my_function()
print(my_module.my_variable)
Б) Постоянно (через переменную окружения PYTHONPATH):
Добавьте путь к директории, содержащей ваш модуль, в переменную окружения PYTHONPATH.  Как это сделать, зависит от вашей операционной системы.  Например, в Linux/macOS вы можете добавить строку export PYTHONPATH=$PYTHONPATH:/path/to/my_module в ваш .bashrc или .zshrc.
После этого вы сможете импортировать модуль обычным способом: import my_module.
Важные моменты:
__init__.py: Этот файл превращает директорию в Python-пакет.  Он может быть пустым или содержать код инициализации.  Начиная с Python 3.3,  __init__.py не является обязательным для простых пакетов, но его рекомендуется использовать для совместимости и ясности.import my_package.my_module), так и относительные (from . import my_module) импорты. Относительные импорты начинаются с точки (.), обозначающей текущий пакет, или двух точек (..), обозначающих родительский пакет.os.py).