Относительная ошибка импорта с py2exe

Я пытался создать исполняемый файл для простого Python script. Мой код setup.py выглядит так:

from distutils.core import setup
import py2exe
setup(console=["script.py"])

Однако, я получаю сообщение об ошибке, показанном на скриншоте. Я могу попытаться это исправить? Я использую Windows 10.

введите описание изображения здесь

Ответы

Ответ 1

Кажется, что в mf3.py вы импортируете за верхний уровень.

Предположим, что ваша структура проекта выглядит следующим образом:

folder/
main.py
mod/
    __init__.py
    components/
        __init__.py
        expander.py
        language_id.py
    utilities/
        __init__.py
        functions.py

Сначала убедитесь, что

main.py относится к подпакетам как:

from mod.components.expander import *
from mod.utilities.functions import *

expander.py и language_id.py имеют доступ к функциям .py с помощью:

from ..utilities.functions import *

Добавить параметры в setup.py

Вы также можете использовать дополнительные параметры py2exe, чтобы импортировать все модули и пакеты, необходимые вашему проекту. Например.

# setup.py
from distutils.core import setup
import py2exe
setup(console=["script.py"],
      options={
              "py2exe":{
                    "optimize": 2,
                    "includes": ["mf1.py", "mf2.py", "mf3.py"], # List of all the modules you want to import
                    "packages": ["package1"] # List of the package you want to make sure that will be imported
               }
       }
    )

Таким образом вы можете принудительно импортировать отсутствующий script вашего проекта