zoukankan      html  css  js  c++  java
  • python打包exe文件

    https://blog.csdn.net/lqzdreamer/article/details/77917493

    在我们完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序。在浏览网上的资料来看,有利用pyinstaller和cx_Freeze进行打包的方法。关于cx_Freeze打包的方法,可以参考wangdamozhizhou博客windows下cx_Freeze生成Python可执行程序中的方法。由于方法主要是可以用于Python3.3版本的,高于该版本的Python无法使用。在我尝试的过程中,碰到的一个问题是:

    安装cx_Freeze-4.3.3,找不到cxFreeze.bat

    解决的方法是,在cmd命令行操作下,切换至放置cx_Freeze-4.3.3文件的Python安装目录下scripts目录下,使用以下代码自动生成:

    python cxfreeze-postinstall
    由于我安装的Python版本是3.6.2版本的,版本相对较新,cx_Freeze还没有更新版本至3.6版本。在我尝试很多次数失败后,决定采用pyinstaller来进行文件打包的方法。
    下载pyinstaller
    采用命令行操作的办法
    在cmd命令行中,输入代码:
    pip install pyinstaller
    或者采用更新、升级的方法:
    pip install --upgrade pyinstaller
    采用下载文件+cmd操作的办法
    首先,前往PyInstaller网站下载:http://www.pyinstaller.org/downloads.html

          下载时,要注意你安装的Python是多少版本的,有稳定版和不稳定版的,Python3.6只有不稳定版本的。其中绿色方框的是适用于linux操作系统下的,红色方框是适用于Windows系统下的。
    进行解压缩、放置和安装
    下载后,将压缩文件解压缩在Python安装目录下,进入该文件:

    该目录中含有setup.py,同时在cmd中进入该目录:

    输入命令:
    python setup.py install
    并按下回车键,会看到代码迅速执行,会进行安装pyinstaller,显示如下状态,看到“Finished processing dependencies for PyInstaller==3.3.dev0+41c426f6d”,即安装成功:

    使用pyinstaller打包py文件成exe程序
    打包文件成exe程序
    将cmd的目录切换至(命令:cd 文件路径(注意空格))需要打包的py文件目录下:

    并输入代码,格式为使用命令:pyinstaller -F 文件名(带后缀py):
    pyinstaller -F test.py
    常用参数 说明:
    –icon=图标路径
    -F 打包成一个exe文件
    -w 使用窗口,无控制台
    -c 使用控制台,无窗口
    -D 创建一个目录,里面包含exe以及其他一些依赖性文件
    pyinstaller -h 来查看参数
    回车后,代码迅速操作,直到操作结束。

    返回目标文件目录,发现该目录下生成了.spec文件test.spec:

    打包好的exe文件,在同目录的dist文件中:

    由此,py文件打包好为exe文件。
    pyinstaller 改变生成exe程序的图标
    pyinstaller -F --icon=my.ico test.py
    my.ico 是一个图标名,和当前的test.py文件在同一个目录下

  • 相关阅读:
    笔记35 跨重定向请求传递数
    判断邮箱的正则表达式
    按钮
    async await 的用法
    笔记34 Spring MVC的高级技术——处理multipart形式的数据
    Convert Sorted Array to Binary Search Tree
    Binary Tree Zigzag Level Order Traversal
    Unique Binary Search Trees,Unique Binary Search Trees II
    Validate Binary Search Tree
    Populating Next Right Pointers in Each Node,Populating Next Right Pointers in Each Node II
  • 原文地址:https://www.cnblogs.com/yaok430/p/10688946.html
Copyright © 2011-2022 走看看