cefpython3打包windows应用

发布于:2024-06-03 ⋅ 阅读:(137) ⋅ 点赞:(0)

最近使用cefpython3开发程序,网上找了一圈打包工具都没有效果,最后在github中翻到使用cx_Freeze进行打包。

代码

from distutils.sysconfig import get_python_lib
from os.path import join
from glob import glob
from cx_Freeze import setup, Executable

# Basically just copy all of the CEF distribution into the installer
# I have only tested this on windows
cefPath = join(get_python_lib(), "cefpython3")
CEF_INCLUDES = glob(join(cefPath, "*"))
CEF_INCLUDES.remove(join(cefPath, "examples"))

setup(
    name = "appName",
    version = "1.0.0",
    options = {
        "build_exe": {
            'packages': ["os","sys","win32con", "json"],
            'include_files': CEF_INCLUDES + ["conf.yaml"],
            'include_msvcr': True,
            'excludes': ['*.pyc']
    }},
    executables = [Executable("start.py", base="Win32GUI")]
)

先写一个setup.py的脚本,找到cef的路径,然后下边是一些参数配置:

  • packages就是一些要用的模块,不过这里有些用到我也没有写进来也是可以的
  • include_files应该是一些需要特殊指定要包含的路径,因为cef大量依赖c++的库和资源文件,除此之外,也可以把你的配置文件等资源写在这里,打包也会统一打进去
  • excludes表示不需要的文件
  • start.py就是main函数的执行路径

执行

python setup.py build # 生成文件夹
python setup.py bdist # 生成zip
python setup.py bdist_msi # 生成msi

环境

使用环境为

  • windows10
  • python3.7
  • cefpython3=66.1

ref

  • https://github.com/cztomczak/cefpython/issues/338

网站公告

今日签到

点亮在社区的每一天
去签到