软件编程_Python_cxfreeze

平时写一些python脚本都是自己用,所以也不需要打包exe。
但有的时候需要给别人做一些脚本,所以这里记录一下用cxfreeze打包的过程。

下载cxfreeze模块

pip install cx_freeze
cxfreeze -h

使用cxfreeze打包

首先我直接使用了如下命令行

cxfreeze convert.py

这时我发现打包目录里有几十个文件,拜托,我只是写了一个简单的文件转换脚本,却打包出来一个30m左右多文件目录。
在这里插入图片描述

setup.py

想偷懒是不行了,接下来还是老老实实写了一个setup.py。

#!/usr/bin/env python
# coding:utf-8
import os,sys
from cx_Freeze import setup, Executable

buildOptions = dict(
    include_files = [os.path.join('original',''),os.path.join('run.bat'),os.path.join('readme.txt')],
    excludes=['email', 'tkinter', 'multiprocessing', 'http', 'xml', 'logging', 'urllib', 'unittest', 'pydoc_data', 'distutils'],
)


executables = [
    Executable('convert.py', 
        targetName = 'convert.exe')]

setup(
      version = '0.0.1',
      description = '',
      options = dict(build_exe = buildOptions),
      executables = executables
      )

然后执行命令行

python3 setup.py build

在这里插入图片描述
尚可接受。

批处理bat

因为我的exe还有输入参数,比如指定了目录,所以为了让别人能一键使用,这里还添加了一个run.bat文件。

@echo off

set src_dir=%~dp0
if exist %src_dir%run.bat (
%src_dir%\convert %src_dir%original %src_dir%new
)

你可能感兴趣的:(软件编程)