Запускаем django с помощью python manage.py запускаем сервер и получаем ошибку ModuleNotFoundError: нет модуля с именем "_msi"

django работал нормально, мой venv был поврежден, и я восстановил его из requirements.txt теперь получаю файл "C:\Users\PC\OneDrive\Documents\GitHub\DoseV3Master\venv\Lib\site-packages\msilib_init_.py", строка 3, из _msi import * ModuleNotFoundError: нет модуля с именем "_msi"

зашел в pypi и обнаружил, что программа установки pip install python-msi не работает. Затем pip install pymsilib также не работает.

Это, скорее всего, связано с msilib:

  • Использование любого пакета, который зависит от этого в Linux

  • Использование любого пакета, зависящего от python 3.13 (Устарел в версии 3.11 и удален в 3.13): https://docs.python.org/3/library/msilib.html

Создание venv с использованием python <= 3.12, если вы работаете в Windows, должно решить проблему. В Linux вам, возможно, придется выбрать альтернативный пакет. Если предположить, что он работал у вас ранее, то, скорее всего, проблема в версии 3.13.

Модуль _msi является частью стандартной библиотеки Python для Windows, но он включается только в том случае, если Python установлен с использованием официального Установщик Windows от python.org. Если вы установили Python из другого источника (например, через Microsoft Store или минимальный установщик), _msi может отсутствовать.

1. Переустановите Python из официального источника

  • Перейти по ссылке: https://www.python.org/downloads/windows/

  • Загрузите официальный установщик для вашей версии Python (например, 3.11.x)

  • Во время установки:

    • Выберите “Добавить Python в PATH

    • Выберите "Настройка установки" и убедитесь, что выбраны все дополнительные функции

2. Воссоздайте свою виртуальную среду

После переустановки Python:

# Delete the broken virtual environment 
rm -r venv  # or delete the folder manually on Windows  
# Recreate it 
python -m venv venv 
venv\Scripts\activate 
pip install -r requirements.txt 

Избегайте установки python-msi или pymsilib через pip — они не являются официальными и не решат проблему.

Ошибка возникает из-за того, что в вашей установке на Python отсутствует модуль _msi. Переустановите Python с помощью официального установщика Windows с сайта python.org, затем заново создайте свою виртуальную среду — это восстановит поддержку _msi.

Вернуться на верх