Это действительно больше о том, как работает сам Python.
Вы сможете импортировать module2
с from folder import module2
.Вы должны объявить /home/username/folder
как пакет, создав пустой файл инициализации /home/username/folder/__init__py
.Я рекомендую назвать пакет более уникальным, например, potrus_folder
, чтобы не допустить конфликтов имен.
Чтобы объяснить: Python отслеживает, какие модули доступны через его путь, онобычно устанавливается в ваших переменных окружения.Чтобы увидеть, какие папки он ищет для модулей, вы можете сделать import sys
затем print(sys.path)
.По умолчанию ваш рабочий каталог (/home/username/
) будет включен с наивысшим приоритетом (таким образом, он должен быть первым или последним в sys.path
, я не помню).Вы можете добавить свою собственную папку с помощью sys.path.append('/some/folder')
, хотя она не одобряется, и вам действительно следует добавить ее в системный путь или просто сохранить в виде пакета в рабочем каталоге.
Пакеты на самом деле простоподпапки путей, которые уже были добавлены.Вы получаете к ним доступ, как я объяснил ранее, используя синтаксис from X import Y
или, если хотите углубиться from X.Z import Y
.Запомните файл __init__.py
.