Найти - Пользователи
Полная версия: Проблема с импортом модулей
Начало » Python для экспертов » Проблема с импортом модулей
1 2
Oleg1285
Всем привет, ситуация следующая:

Есть структура каталогов следующего типа:
–run.py
—-folder1
—-script1.py
—-script2.py



В скрипте run.py я импортирую функцию automate() из модуля script1.py
В скрипте script1.py я импортирую модуль scripte2.py

Когда запуская run.py вижу, что питон не может импортировать scripte2.py.
Соответственно, если я запускаю scripte1.py из папки, модуль scripte2 нормально импортируется.
Как я понял питон пытается искать модуль script2.py в папке run.py и не находит, как решить проблему не экспортируя модули в libs?
Пробовал прописать в run.py
path = os.path.abspath('\folder1')
sys.path.append(path)
Не помогло…
Версия питона 3.4



Razor
Спуститься на уровень ниже можно, прописывая перед файлом две точки и слэш ('../example.txt')
Oleg1285
Я проверял переменную sys.path путь прописывается нормально.
с вариантом os.path.abspath('../folder1') эффект тот же самый - модуль script2.py не подгружается.
Master_Sergius
Во-первых, в папке с модулями должен быть пустой файл __init__.py
Во-вторых, надо указывать импорт с учётом названия каталога
Oleg1285
c __init__ файлом тоже пробовал.
Импорт прописываю как раз с указанием каталога from folder1.script1 import automate
Модуль то импортируется, проблема в том, что сам script1 перестает импортировать script2.
Oleg1285
есть идеи?
bismigalis
в третем питоне по умолчанию абсолютный импорт

из той же папки импортируй так
import .script2
Oleg1285
А Вы не путаете 2-й питон с 3-м? что-то я в 3-м такой записи не встречал, если сделать такую запиcь то получим SyntaxError
Я имею ввиду запись .script2 с точкой, у меня пропиcанно просто import script2
bismigalis
да затупил, надо

from .module import staff
Oleg1285

bismigalis
from .module import staff

спасибо, теперь все нормально импортируется.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB