cx-Freeze安装

笨人python3.6 windows10系统

安装

  1. (离线)官网https://pypi.python.org/pypi/cx_Freeze下载相应的whl,在下载目录执行pip install d:\xxx\cx_Freeze-5.1.1-cp36-cp36m-win64.whl(这个版本由自己电脑和安装的Python版本决定,前面路径由whl文件所在位置决定)
    (在线)cmd 输入 pip install cx_Freeze
    安装完会在Python安装路径的scripts目录下生成如下文件:
    cx-Freeze安装_第1张图片

  2. 在 C:/ProgramData/Anaconda3/Scripts/Script/ 目录下运行python cxfreeze-postinstall(目录是cx_Freeze安装的文件夹的路径,也就是上图文件存在的路径)

  3. 运行cxfreeze -h测试是否安装成功,酱紫就可以了
    cx-Freeze安装_第2张图片
    以上步骤参考:https://www.jianshu.com/p/9620d845af0a

配置

需要在setup.py中进行配置,需要将什么打包,命名blabla之类细致而又繁琐的工作。
在网上找了很多人的代码,集百家之长拼凑出来这个最终的代码。学习了很多

#setup代码
import sys
import os
from cx_Freeze import setup, Executable

os.environ['TCL_LIBRARY']=r'C:/ProgramData/Anaconda3/tcl/tcl8.6'
os.environ['TK_LIBRARY']=r'C:/ProgramData/Anaconda3/tcl/tk8.6'
# GUI 程序需要不同的base,默认是控制台程序  
base = None
# 判断Windows系统
if sys.platform == "win32":
    base = "Win32GUI"

packages = []  
#添加 依赖的包
for dbmodule in ['win32gui','win32api' ,'win32con' , 'cx_Freeze']:
    try:  
        __import__(dbmodule)  
    except ImportError:  
        pass  
    else:  
        packages.append(dbmodule)  
options = {
          'build_exe':
               {
                    'includes': ['PIL','traceback',r'queue',r'idna.idnadata']
                    ,'packages': packages# 依赖的包
                    ,'include_files':[
                              r'C:\\ProgramData\\Anaconda3\\envs\\tensorflow',
                              r'C:\\ProgramData\\Anaconda3\\DLLs\\tcl86t.dll',
                              r'C:\\ProgramData\\Anaconda3\\DLLs\\tk86t.dll',
                              r'D:\\SSD\\SSD-Tensorflow',
                              r'D:\\SSD\\SSD-Tensorflow\\nets',
                              r'D:\\SSD\\SSD-Tensorflow\\preprocessing',
                              r'D:\\SSD\\SSD-Tensorflow\\notebooks'] 
                     ,'path': sys.path,                       #指定上述的寻找路径
                    }
               }

executables = [
          Executable(
                    # 工程的 入口   
                    script='D:\\SSD\\SSD-Tensorflow\\notebooks\\ship_test_save.py'
                    , base = base
                    # 生成 的文件 名字
                    , targetName = 'ship_detective.exe'  
                    )
          ]

setup(  
            # 产品名称  
           name='ship_detective',  
            # 版本号  
            version='1.0',  
            # 产品说明  
            description='My detective application!',  
            options = options,  
            executables = executables  
      ) 

最终在命令行输入介个
在这里插入图片描述
生成的EXE就在Scripts文件夹下的build中了~

问题

当然打包过程中也遇到了一些问题,参照了这位博主的博文https://blog.csdn.net/theeternal/article/details/78947971(写得特别好)都得到了解决~

你可能感兴趣的:(python)