Pyinstaller с Django: ModuleNotFoundError: нет модуля с именем django.contrib.messages.apps

Я пытаюсь запустить свое упакованное приложение python в строке cmd и получаю сообщение об ошибке:

ModuleNotFoundError: No Module Named 'django.contrib.messages.apps'

Я использовал ответ https://github.com/pyinstaller/pyinstaller/issues/2332, чтобы избавиться от аналогичной ошибки для 'django.contrib.admin.apps', так кто-нибудь знает, как удалить и эту?

Какую версию Django вы используете? ваш проект работает в виртуальной среде? если да, активен ли он?

Lemayzeur 01.05.2018 16:30

@Lemayzeur Django версии 2.0.4, да, он работает в виртуальной среде

cfleming93 01.05.2018 16:42

удалите django и снова установите его

Lemayzeur 01.05.2018 16:50

@Lemayzeur Я все еще получаю ту же ошибку

cfleming93 01.05.2018 17:02
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
4
959
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У меня такая же проблема с Django 2.0.4. Похоже, он не поддерживает последние версии Django. Проблема в том, что PyInstaller не может разрешить скрытый импорт, поэтому вам придется добавлять их в хуки вручную. Отредактируйте файл .spec, который создается после первой сборки с pyinstaller, заполните массив hidden_imports недостающими пакетами и сделайте файл .spec, указывающий на сборку, вместо manage.py. К сожалению, после добавления нескольких пакетов появляются новые ошибки.

https://pythonhosted.org/PyInstaller/when-things-go-wrong.html

Pyinstaller отлично работает с Django 1.8, поэтому попробуйте использовать эту версию. Проект на основе Django 1.8 успешно строится и хорошо работает с runserver.

Большое спасибо, он отлично работал на Django 1.8.19

cfleming93 04.05.2018 13:52

У меня такая же проблема. По состоянию на февраль 2019 года Pyinstaller v3.4 работал только при использовании Django 1.8, а не с любой более поздней версией Django. Если это важно, я использовал Python 3.5.

Ralf 19.02.2019 13:02

Другие вопросы по теме