Методы удаления библиотеки в Python: перезапуск интерпретатора, удаление из sys.modules и многое другое

  1. Перезапустите интерпретатор Python. Один из простых способов деимпортировать библиотеку — перезапустить интерпретатор Python. После перезапуска ранее импортированная библиотека больше не будет доступна. Однако этот метод непрактичен для долго работающих программ или сценариев.

  2. Удалите модуль из sys.modules: словарь sys.modules содержит кэш всех импортированных модулей. Удалив запись, соответствующую библиотеке, которую вы хотите деимпортировать, вы можете эффективно выгрузить ее. Вы можете использовать следующий код:

    import sys
    if 'library_name' in sys.modules:
       del sys.modules['library_name']
  3. Используйте модульimp (Python 3.8 и более ранние версии). Модульimp предоставляет низкоуровневые инструменты для работы с модулями. Вы можете использовать функцию imp.reload()для перезагрузки модуля, фактически удаляя его импорт. Вот пример:

    import imp
    if 'library_name' in sys.modules:
       imp.reload(sys.modules['library_name'])
  4. Используйте модуль importlib (Python 3.4 и более поздних версий). Модуль importlib предоставляет более мощные механизмы для работы с модулями. Вы можете использовать функцию importlib.reload()для перезагрузки модуля. Вот пример:

    import importlib
    if 'library_name' in sys.modules:
       importlib.reload(sys.modules['library_name'])
  5. Используйте функцию reload() (IPython или Jupyter Notebook). Если вы работаете с IPython или Jupyter Notebook, вы можете использовать волшебную команду %reload_extдля выгрузки ранее импортированного файла. библиотека. Например, %reload_ext имя_библиотекивыгрузит библиотеку с именем «имя_библиотеки».