当前位置:  开发笔记 > 编程语言 > 正文

py2exe的相对导入错误

如何解决《py2exe的相对导入错误》经验,为你挑选了1个好方法。

我试图为简单的Python脚本生成可执行文件.我的setup.py代码如下所示:

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

但是,我收到屏幕截图中显示的错误.有什么我可以尝试解决这个问题吗?我使用的是Windows 10.

在此输入图像描述



1> mabe02..:

似乎在你的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 *

expandder.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
               }
       }
    )

通过这种方式,您可以强制导入项目的缺失脚本

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有