py2exe 的相对导入错误
Relative import error with py2exe
我试图为一个简单的 Python 脚本生成一个可执行文件。我的 setup.py 代码如下所示:
from distutils.core import setup
import py2exe
setup(console=["script.py"])
但是,我收到了屏幕截图中显示的错误。有什么我可以尝试解决这个问题的吗?我正在使用 Windows 10.
看来在你的mf3.py你是importing beyond the top level.
假设您的项目结构如下:
folder/
main.py
mod/
__init__.py
components/
__init__.py
expander.py
language_id.py
utilities/
__init__.py
functions.py
首先确保
main.py refers to the subpackages as:
from mod.components.expander import *
from mod.utilities.functions import *
expander.py 和 language_id.py 可以通过以下方式访问 functions.py:
from ..utilities.functions import *
为您的 setup.py 添加选项
您还可以使用 more py2exe options 以便导入项目所需的所有模块和包。例如
# 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
}
}
)
通过这种方式,您可以强制导入您的项目缺少的脚本
我试图为一个简单的 Python 脚本生成一个可执行文件。我的 setup.py 代码如下所示:
from distutils.core import setup
import py2exe
setup(console=["script.py"])
但是,我收到了屏幕截图中显示的错误。有什么我可以尝试解决这个问题的吗?我正在使用 Windows 10.
看来在你的mf3.py你是importing beyond the top level.
假设您的项目结构如下:
folder/
main.py
mod/
__init__.py
components/
__init__.py
expander.py
language_id.py
utilities/
__init__.py
functions.py
首先确保
main.py refers to the subpackages as:
from mod.components.expander import * from mod.utilities.functions import *
expander.py 和 language_id.py 可以通过以下方式访问 functions.py:
from ..utilities.functions import *
为您的 setup.py 添加选项
您还可以使用 more py2exe options 以便导入项目所需的所有模块和包。例如
# 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
}
}
)
通过这种方式,您可以强制导入您的项目缺少的脚本