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

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

Tmirskaya Знаток (326), на голосовании 4 недели назад
У меня есть папка 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'
Что я делаю не так? Как починить?
Голосование за лучший ответ
Вика Иванова Знаток (321) 1 месяц назад
Как вариант, добавить Practick в системную переменную PYTHONPATH
TmirskayaЗнаток (326) 1 месяц назад
А как это сделать? Объясните чайнику пошагово, пожалуйста)
Вика Иванова Знаток (321) Tmirskaya, просто напиши в консоли: set PYTHONPATH="$PYTHONPATH:/свой/путь"
Вика ИвановаЗнаток (321) 1 месяц назад
Только не в питоновской, разумеется, а windows
Vitness Просветленный (31230) 1 месяц назад
Убери .py из импорта это раз.
Если файл находится не в рабочей директории - делай относительные пути это два.
 from Praktick.My_methods import MyFunction 
Видимо так. По твоему описанию не очень понятно, что у тебя является рабочей директорией. Если ты запускаешь код прямо из папки Example, то нормально - никак. Нужно добавлять что-то типа
 import sys
sys.path.insert(0,'..')
TmirskayaЗнаток (326) 1 месяц назад
 from My_methods import MyFunction 
тут нет нигде .py
Vitness Просветленный (31230) 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 
Похожие вопросы