Какие библиотеки установлены в питоне по-умолчанию?



Встроенные модули



Список встроенных модлей из стандартной библиотеки Питона смотрите в докментации: The Python Standard Library.



Из перечисленных встроенными являются collections, datetime, gc, json. Остальные необходимо устанавливать отдельно, например, через пакетный менеджер Питона pip.



Порядок импортов

Помимо этого, в соответствии с официальными рекомендациями PEP, порядок подключения библиотек следует использовать такой:



Стандартные библиотеки.

Используемые сторонние модули.

Локальные модули вашего приложения/библиотеки.

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



Например, вот так:



# Стандартные модули

from collections import defaultdict

import datetime

import gc

import json



# Сторонние модули

from clickhouse_driver import Client

import psycopg2

import tqdm



# Отдельно несколько строк с Торнадо

from tornado.web import Application, RequestHandler

from tornado.ioloop import IOLoop




Виртуальное окружение с зависимостями

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



Однако виртуальные окружения существуют для использования модулей на месте, они не сохраняются в системах контроля версий. Для этого используется файл requirements.txt, в котором описываются нужные библиотеки и опционально их версии. Для быстрого создания этого файла можно заморозить текущие библиотеки из локального pip'a, а при создании нового окружения можно будет их легко установить из этого файла. Подробнее читайте в документации: PIP > User Guide > Requirements Files.



@python_job_interview