Содержание
В этой серии статей я уже утверждал, что в сценариях на Python нужно отлавливать ошибки.
Это не только улучшает работу пользователей, но и может сэкономить ваше драгоценное время, если вы оказываете поддержку.
Что такое импорт?
Импорт может заключаться в вызове стороннего пакета в вашем скрипте, чтобы ускорить разработку или избежать повторного изобретения колеса.
В Python это обычно делается так:
import my_awesome_package
Но вы также можете назвать его псевдонимом:
import my_awesome_package as another_name
Когда вы начинаете делиться своим кодом, вам нужно рассказать людям, как установить все зависимости, чтобы избежать ошибок импорта.
Действительно, если “my_awesome_package” - это сторонний пакет, который не предустановлен с Python, пользователи получат фатальную ошибку.
К счастью, в Python есть собственный менеджер пакетов Pip, который поставляется вместе с Python, поэтому разработчики Python обычно помещают файл requirements.txt в корень своих проектов, чтобы указать сторонние модули для установки.
После этого пользователям достаточно будет выполнить следующую команду:
pip install -r requirements.txt
Разработчики ленивы, как и пользователи
Мы все знаем, что нужно читать потрясающую документацию (RTFM), но на практике часто ее пропускаем.
Хорошо это или плохо (в основном плохо) - не наша проблема. Люди просто делают это.
Однако вы можете добавить несколько дополнительных проверок:
import sys
try:
import my_awesome_package
except ModuleNotFoundError:
print("Please run 'pip install -r requirements.txt' to use this script.")
sys.exit(1)
Хотя это и не является официальной рекомендацией в документации, я люблю включать такую проверку.
Завершение
Вылавливание ошибок импорта может быть полезным, даже если это добавит несколько строк в ваш сценарий.