Запускаем 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
.