Python项目打包成exe文件

1 系统环境

  • windows版本: Win7 64位
  • python环境:Anaconda
  • python版本:3.6 64位
  • pyinstaller版本:3.5

1 安装pyinstaller库

Pyintaller打包时,会将解释器中所有的包默认一起打包,结果打包出的exe文件非常大。所以,建议使用Anaconda的虚拟环境来安装程序需要的包,然后在该虚拟环境中进行打包。

打开,Anaconda Prompt,切换到新建的虚拟环境安装pyinstaller和程序导入的包:

(base) C:\Users\Administrator>conda activate analysis
(analysis) C:\Users\Administrat>pip install pyinstaller

等待安装完成。

2 打包程序

然后进入项目目录:

(analysis) D:\WorkStation\Pycharm\analysis\PyExcel>

该目录下有statistics_sales.py汇率表.xlsx两个文件和一个origin目录,其中汇率表.xlsx和origin为程序使用的资源。然后新建一个buildexe目录。然后将statistics_sales.py放入buildexe目录,并从网上下载一个ico格式的图标,命名为icon.ico放入该目录。最后命令行进入该目录执行命令:

(analysis) D:\WorkStation\Pycharm\analysis\PyExcel\buildexe>pyinstaller -F -w -i icon.ico statistics_sales.py

等待打包完成。

其中:

  • -F: 表示生成单个可执行文件;
  • -D:  –onedir 创建一个目录,包含 exe 文件,但会依赖很多文件(默认选项)。
  • -w: 表示去掉控制台窗口,这在 GUI 界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!;
  • -c:  –console, –nowindowed 使用控制台,无界面 (默认);
  • -p: 表示你自己自定义需要加载的类路径,一般情况下用不到;
  • -i: 表示可执行文件的图标。

打包结束后buildexe目录内会出现build和dist两个新目录和一个statistics_sales.spec文件。

其中exe文件存放在dist目录中,该exe文件即发布到其它没有python环境的系统中运行。

Tips:因为程序使用到了汇率表.xlsx和origin目录两个资源文件,所以所想正常运行该exe,需要将该资源放在exe文件同目录下。

3 参考资料

Pyton项目打包成exe文件的更多相关文章

  1. 把Python项目打包成exe文件

    我们很多时候,写好的程序需要打包成.exe文件才可以发给客户,那么今天我就来谈一谈,如何将一个写好的Python程序打包成exe文件! 首先,我们我们使用到的工具是python 3.7 和 Pyins ...

  2. 将Java项目打包成exe文件

    第一步:参照我之前的博客:利用IDEA把项目打包成jar包第二步:下载安装exe4j软件第三步:新建文件夹,把jre,exe文件的图标,本项目的jar包以及项目用到的jar包都放到同一目录下[很重要] ...

  3. Python项目打包成exe文件

    这里我们使用pyinstaller这个软件即可,使用pip即可完美安装,在要打包的程序目录下打开cmd输入 pyinstaller -F 文件名.py 即可成功,运行成功后生成一个dict文件夹,东西 ...

  4. 教你如何把php项目打包成EXE文件发布

    家经常会接到一些编程的活,例如设计企业网站,做做财务,统计系统什么的.或许是因为朋友的需求,或许图个零花.不管什么原因吧.等程序做好了,给对方展示.安装,就成了问题.企业网站好说,至少需要个虚拟主机什 ...

  5. 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片)

    解决 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片) 1.当我们写了一个Python的项目时,特别是一个GUI项目,我们特备希望它能成为一个在Windows系统可执行的EXE文件 ...

  6. 使用exe4j把JAVA GUI程序打包成exe文件时遇到的问题

    1.把项目打包成jar文件时,只要勾选src目录就行了,其他的比如资源文件和jar包是不能添加进去的. 2.在D盘建一个文件夹,最好与项目同名,然后把打包好的jar包放进去,其他资源文件(图片之类的) ...

  7. Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)

    Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer   Advanced Installer :Free for 30 da ...

  8. Java项目打包成exe的详细教程

    Java项目打包成exe的详细教程 把Java项目打包成exe共分为以下两步: 1. 利用Eclipse先把Java项目先打成jar包 2. 利用exe4j工具把jar包转成exe 这里以Java项目 ...

  9. JAVA程序打包成exe文件详细图解

    我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: eclipse ...

随机推荐

  1. SpringBoot的入门程序

    1. 创建一个springboot工程 可以参考springboot入门程序 2. 创建一个实体类 @Data //想相当于@Setter.@Getter和@ToString替代了setter.get ...

  2. 【转载】 C#中使用decimal.Parse方法将字符串转换为十进制decimal类型

    在C#编程过程中,很多时候涉及到数据类型的转换,例如将字符串类型的变量转换为十进制decimal类型就是一个常见的类型转换操作,decimal.Parse方法是C#中专门用来将字符串转换为decima ...

  3. 记.net core 项目在linux系统下启动失败的一个教训

    最近准备用.net core开发一个项目.使用的是Coldairarrow的框架.做了一部分之后,准备部署到服务器上测试一下.然后就遇到了这个问题. 项目路径: /home/www/webapi/ 启 ...

  4. ifup/ifdown

    这两个程序其实是script而已,它会直接到 /etc/ sysconfig/network-scripts目录下搜索对应的配置文件,例如ifup eth0,它会找出ifcfg-eth0这个文件的内容 ...

  5. misc_register杂项设备

    include/linux/miscdevice.h 这些字符设备不符合预先确定的字符设备范畴 设备主设备号10 struct miscdevice { int minor; //次设备号(如果设置为 ...

  6. iOS学习——(转)解决iOS App打包后dSYM文件找不到的问题

    dSYM文件缺失通常有两种情况**: 情况一:配置错误导致打包时没有生成dSYM文件 针对这种情况,通常是因为Project -> Build Settings下的Debug Informati ...

  7. Shell脚本编程30分钟入门(小结)(转)

    原文链接https://www.jb51.net/article/161028.htm 什么是Shell脚本 Shell脚本(英语:Shell script),又称Shell命令稿.程序化脚本,是一种 ...

  8. javascript数据结构与算法——栈

    前言: 栈就是和列表类似的一种数据结构,不过栈的特点是'后人先出'.栈是一种高效的数据结构,因为数据只能在栈顶添加或删除,所以这样操作很快,而且容易实现. 1. 栈的介绍: 栈是一种特殊的列表,栈内的 ...

  9. lock in share mode 和 select for update

    lock in share mode 和 select for update 2018年07月11日 01:57:58 道不虚行只在人 阅读数 146    版权声明:欢迎转载,请注明出处 https ...

  10. failed to recover intents

    failed to recover intents 无法恢复意图