Когда python 3.4 найдет мой собственный пакет

Вопрос:

Я написал пакет в python, и теперь я пытаюсь добавить его в папку своих пакетов с помощью.pth файла, чтобы я мог его вызывать из любого места с помощью оператора import, но он не работает.

sste.pth в папке с папками сайтов

/scratch/automation/sste

Структура папки sste

sste-\
---__init__.py
---module1.py
---module2.py

Из того, что я понимаю, когда я запускаю python, он должен указать файл site_packages, включая мой файл sste.pth и добавить /scratch/automation/sste в список модулей, чтобы я мог импортировать его, выполнив import sste, но получаю import error, и не может понять, почему.

Лучший ответ:

Похоже, вы направили Python на поиск своего модуля в /scratch/automation/sste когда sste сам по себе является пакетом. Когда Python смотрит в /scratch/automation/sste он не будет искать пакет с именем sste, только .py файлы с именами __init__.py, module1.py и module2.py.

Короче говоря, вы должны сказать Python, чтобы вместо этого искать в /scratch/automation для модулей. Путь Python — это не список модулей, которые он может импортировать, а список каталогов, которые могут содержать модули.

Кроме того, проверьте sys.modules чтобы убедиться, что каталоги, которые вы ожидаете быть в нем, есть.

Оцените статью
TechArks.Ru
Добавить комментарий