python 用cx_Freeze打包程序详细解读setup.py

最近在学习用python开发深度学习工具,发现使用cx_Freeze对程序进行打包时,采用构建setup.py的时候出现很多不清楚的地方,现在详细说明setup.py文件的内容

os.environ['TCL_LIBRARY'] = "C:\\ProgramData\\Anaconda3\\tcl\\tcl8.6"
os.environ['TK_LIBRARY'] = "C:\\ProgramData\\Anaconda3\\tcl\\tk8.6"

include_files = [r"C:\ProgramData\Anaconda3\DLLs\tcl86t.dll",
                 r"C:\ProgramData\Anaconda3\DLLs\tk86t.dll",
                ]

1、上面的两个库文件都在python安装路径下可以找到,python运行时候依赖的库 

options = {
    'build_exe': {
        'includes': 'atexit' ,
        'include_files': include_files,
        'packages':['cv2','numpy','xml.etree','tensorflow','libs.label_name_dict']
    }
}

2、options是打包程序import的包,其中 'cv2','numpy','xml.etree','tensorflow'是安装的python包,'libs.label_name_dict'是当前项目里面的库,但是之前这么写,build的时候会提示找不到libs库,这是因为python没有将当前路径设置成系统路径,需要添加设置:sys.path.append(r'../')

           

executables = [
    Executable('new_gui_temp.py', base=base),
]

3、executables = [Executable('new_gui_temp.py', base=base),]是打包的py文件,可以有多个

import sys
from cx_Freeze import setup, Executable
import os
sys.path.append(r'../')

os.environ['TCL_LIBRARY'] = "C:\\ProgramData\\Anaconda3\\tcl\\tcl8.6"
os.environ['TK_LIBRARY'] = "C:\\ProgramData\\Anaconda3\\tcl\\tk8.6"

include_files = [r"C:\ProgramData\Anaconda3\DLLs\tcl86t.dll",
                 r"C:\ProgramData\Anaconda3\DLLs\tk86t.dll",
                ]

base = None
if sys.platform == 'win32':
    base = 'Win32GUI'

options = {
    'build_exe': {
        'includes': 'atexit' ,
        'include_files': include_files,
        'packages':['cv2','numpy','xml.etree','tensorflow','libs.label_name_dict']
    }
}

executables = [
    Executable('new_gui_temp.py', base=base),
]

setup(name='education',
      version='0.1',
      description='ImagePre software',
      options=options,
      executables=executables
      )

最后执行编译 python setup.py 输出目录

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
cx_freeze是一个Python库,可以将Python代码打包成可执行文件或库,以便在没有Python解释器的计算机上运行。下面是使用cx_freeze打包Python代码的步骤: 1. 安装cx_freeze库 使用pip安装cx_freeze库: ``` pip install cx_Freeze ``` 2. 创建setup.py文件 在Python代码所在的目录中创建一个名为setup.py的文件,并添加以下内容: ```python import sys from cx_Freeze import setup, Executable # 打包的文件列表 files = ["<path_to_file1>", "<path_to_file2>", ...] # 设置可执行文件的信息 exe = Executable( script="<path_to_script>", base=None, # 如果是GUI程序,可以设置为"Win32GUI" icon="<path_to_icon_file>", # 可选 ) # 打包的配置 options = { "build_exe": { "packages": ["os"], # 需要打包Python包 "include_files": files, # 需要打包的文件 }, } # 创建setup setup( name="<name_of_executable>", version="<version>", description="<description>", author="<author>", options=options, executables=[exe], ) ``` 其中,需要修改的部分有: - `<path_to_file1>, <path_to_file2>, ...`:需要打包的文件路径列表。 - `<path_to_script>`:需要打包Python脚本路径。 - `<path_to_icon_file>`:可选,程序的图标文件路径。 - `<name_of_executable>`:可执行文件的名称。 - `<version>`:版本号。 - `<description>`:程序的描述。 - `<author>`:作者。 3. 执行打包命令 在终端中进入Python代码所在的目录,执行以下命令: ``` python setup.py build ``` 执行完毕后,将在dist目录中生成可执行文件或库。 注意:在打包过程中,可能会出现一些依赖库缺失的问题。需要根据提示安装缺失的库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值