Проблема с cx_freeze

Компилирую паука scrapy при помощи cx_Freeze. Файл setup.py находится на одном уровне с пауком. При компиляции в командой строке появляется сообщение о пропущеных модулях и они перечисляются.

После компиляции открываю полученный .exe и получаю ошибку, в конце которой написано:

ModuleNotFoundError: No module named 'zope'

Установил zope командой: pip install zope. Результат не изменился.

Что сделать, чтобы компиляция прошла успешно?

Код в setup.py:

# -*- coding: utf-8 -*-
import sys
from cx_Freeze import setup, Executable


base = None
if sys.platform == "win32":
    base = "Win32GUI"

incl = ['csv',
        'scrapy',
        'scrapy.crawler',
        'scrapy.http',
        'scrapy.settings',
        ]

options = {
    'build_exe': {
        'packages': incl,
    }
}

setup(
    name='things',
    version='1.0',
    description='Parser shoes shop',
    options=options,
    executables=[Executable('program.py', base=base)]

)

Ответы (1 шт):

Автор решения: gil9red

Поискал вашу проблему и нашел: https://github.com/anthony-tuininga/cx_Freeze/issues/319

Согласно примеру, нужно так:

options = {
    'build_exe': {
        'namespace_packages': ['zope']
    }
}

А в вашем случае:

incl = [
    'csv',
    'scrapy',
    'scrapy.crawler',
    'scrapy.http',
    'scrapy.settings',
]

options = {
    'build.exe': {
        'packages': incl,
        'namespace_packages': ['zope']
    }
}
→ Ссылка