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

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

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

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

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


person multigoodverse    schedule 06.01.2016    source источник
comment
Нужна дополнительная информация, например, файловые структуры вашего проекта. Но попробуйте добавить путь py2exe к вашему PYTHONPATH?   -  person BAE    schedule 13.01.2016


Ответы (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 имеют доступ к functions.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
               }
       }
    )

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

person mabe02    schedule 13.01.2016