Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как вызвать функцию из другого файла в каталоге?

Tmirskaya Знаток (385), на голосовании 1 год назад
У меня есть папка Praktick, в ней файл My_methods.py, в котором содержатся функции и подпапка Example с файлом task_1.py.

Мне нужно в task_1.py вызвать функцию из My_methods

В коде пишу:
 from My_methods import MyFunction 
Но выдаёт ошибку:
 Traceback (most recent call last):  
File "*Путь к файлу*", line 14, in
from My_methods.py import MyFunction
ModuleNotFoundError: No module named 'My_methods'
Что я делаю не так? Как починить?
Голосование за лучший ответ
Вика Иванова Знаток (320) 1 год назад
Как вариант, добавить Practick в системную переменную PYTHONPATH
TmirskayaЗнаток (385) 1 год назад
А как это сделать? Объясните чайнику пошагово, пожалуйста)
Вика Иванова Знаток (320) Tmirskaya, просто напиши в консоли: set PYTHONPATH="$PYTHONPATH:/свой/путь"
Вика ИвановаЗнаток (320) 1 год назад
Только не в питоновской, разумеется, а windows
Vitness Просветленный (35183) 1 год назад
Убери .py из импорта это раз.
Если файл находится не в рабочей директории - делай относительные пути это два.
 from Praktick.My_methods import MyFunction 
Видимо так. По твоему описанию не очень понятно, что у тебя является рабочей директорией. Если ты запускаешь код прямо из папки Example, то нормально - никак. Нужно добавлять что-то типа
 import sys
sys.path.insert(0,'..')
TmirskayaЗнаток (385) 1 год назад
 from My_methods import MyFunction 
тут нет нигде .py
Vitness Просветленный (35183) Tmirskaya, твоя ошибка говорит об обратном. Так выглядит ошибка без py:
     from My_methods import MyFunction     
ModuleNotFoundError: No module named 'My_methods' 
а у тебя:
     from My_methods.py import MyFunction    
ModuleNotFoundError: No module named 'My_methods 
Похожие вопросы