我想用cx_Freeze编译一个Python3项目,但是无论如何我都永远无法导入自己的.py
文件。
这是我的目录结构:
projectname/
setup.py
app/
code/
__init__.py
config.py
run.py
run - editeur.py
...
image/
...
level/
...
我的setup.py
:
import sys, os
from cx_Freeze import setup, Executable
path = sys.path
includes = []
excludes = []
packages = ["app/code"]
includefiles = ["app/image", "app/level"]
optimize = 0
silent = True
options = {"path": path,
"includes": includes,
"excludes": excludes,
"packages": packages,
"include_files": includefiles,
"optimize": optimize,
"silent": silent
}
base = Win32GUI
cible_1 = Executable(
script="app/code/run.py",
)
cible_2 = Executable(
script="app/code/run - editeur.py",
)
setup(
name="project",
version="1.0",
description="blabla",
options={"build_exe": options},
executables=[cible_1, cible_2]
)
cx_Freeze编译进展顺利,我得到了2个可执行文件。 但是,当我尝试启动一个时,每次遇到相同的错误:
[...]
File "app/code/run.py", line 7, in <module>
import config
ImportError: No module named 'config'
我真的必须错过一些愚蠢的事情,因为我对插件没有任何问题。 这也可能是路径问题或其他我不知道的问题...
有人知道如何帮助我吗?谢谢!
答案 0 :(得分:0)
编辑:通过对setup.py
脚本进行以下修改,我设法冻结了一个基于您的目录结构的简化示例:
path = sys.path + ['app/code']
packages = []
或者,您也可以尝试以下结构(相应地修改导入路径):
projectname/
setup.py
config.py
run.py
run - editeur.py
...
image/
...
level/
...