У этого, вероятно, есть очевидный ответ, но я новичок. У меня есть "модуль" (на самом деле это просто файл с множеством функций, которые я часто использую), в начале которого я импортирую ряд других модулей. Однако, поскольку я работаю на многих системах, не все модули могут загружаться на какой-либо конкретной машине. Чтобы сделать вещи немного сложнее, я также изменяю имена пакетов при импорте их - например, matplotlib получает сокращение от mp.
То, что я хотел бы сделать, это загрузить только те модули, которые существуют в системе, которую я использую в настоящее время, и выполнять обработку ошибок на тех, которые этого не делают. Единственный способ, которым я могу это сделать, заключается в том, чтобы включить каждый оператор импорта в свой собственный блок try, который кажется довольно не-пифоническим. Если я вложу их все в один блок try, в зависимости от того, какой модуль выдает ошибку, это предотвратит загрузку последующих модулей. Любые идеи, которые могут заставить вещи выглядеть красивее? Было бы так легко, если бы я не хотел менять их имена...