Найти - Пользователи
Полная версия: Поиск модулей при импортировании
Начало » Python для новичков » Поиск модулей при импортировании
1
koluna
Привет!

Расскажите, пожалуйста, про то, как Питон ищет модули (и пакеты), когда встречает директиву импорта.

Подскажите, пожалуйста, как быть в следующей ситуации.
Есть скрипт, который использует некий пакет (пакет находится в отдельном каталоге рядом со скриптом).
При запуске скрипта Питон не находит импортируемый модуль (пакет).
Если скрипт скопировать в каталог пакета, то все нормально, но это неправильно…

Пакет без инсталлятора.
Как лучше поступить? Скопировать пакет в системный каталог Питона?
Хочу, чтобы пакет распространялся вместе со скриптом.
terabayt
у вас должна быть такая структура:
основной_каталог_со всем/
__init__.py
ваша_программа.py
директория_с_модулем/
__init__.py
ваш_модуль.py
тогда в программе пишите так:
import директория_с_модулем.ваш_модуль
например
import directory.modul
а для использования пишите так:
directory.modul.function(что_то_там передаете)
или можно так подключить модуль
from directory.modul import function
тогда просто
function(что_то_там_передаем)
в файах __init__.py можно ничего не писать
koluna
Файлы __init__.py необходимы для того, чтобы Python трактовал эти каталоги как содержащие пакеты?
Т. е., эти файлы обязательно должны быть?
terabayt
Файлы __init__.py необходимы для того, чтобы Python трактовал эти каталоги как содержащие пакеты.
это не вопрос, это утверждение!
koluna
Т. е., эти файлы обязательно должны быть?
да
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