AttributeError Django & Pyinstaller (Failed to retrieve attribute INSTALLED_APPS from module...)

Я пытаюсь создать приложение .exe из моего проекта Django с помощью PyInstaller, но получаю ошибку

"AttributeError: Не удалось получить атрибут INSTALLED_APPS из модуля pixel.settings"

  1. Я создал файл .spec проекта pyi-makespec -D manage.py
  2. .
  3. Я выполняю эту команду pyinstaller manage.spec

Пожалуйста, подскажите, как решить эту проблему.

Мой settings.py

Мой manage.spec

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(
    ['manage.py'],
    pathex=['C:/Users/Alex_x/Desktop/Pixel/pixel'],
    binaries=[],
    datas=[],
    hiddenimports=[
        'pixel.urls',
        'pixel.asgi',
        'pixel.settings',
        'pixel.wsgi',
        'django.contrib.admin.apps',
        'django.contrib.auth.apps',
        'django.contrib.contenttypes.apps',
        'django.contrib.sessions.apps',
        'django.contrib.messages.apps',
        'django.contrib.staticfiles.apps',
        'django.contrib.messages.middleware',
        'django.contrib.sessions.middleware',
        'django.contrib.sessions.serializers',
        'django.template.loaders',
        'django.contrib.auth.context_processors',
        'django.contrib.messages.context_processors'
    ],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='manage',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    console=True,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
)
coll = COLLECT(
    exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='manage',
)

Полная ошибка консоли

Я тоже столкнулся с этой проблемой и решил ее. Она возникала только тогда, когда в базовом каталоге был файл __init__.py . Таким образом, каталог выше того, который содержит settings.py, не должен иметь __init__.py файла.

Если по какой-то причине вам нужно, чтобы базовый каталог был пакетом, то это решение не будет работать для вас. В этом случае вам придется исправить ошибку в исходном коде PyInstaller.

Надеюсь, это поможет!

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