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. SQL server字符串分割成表-表分割为字符串

    SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ),)) )) as begin declare @i int set @SourceSql=rtri ...

  2. python学习之利用socketserver的文件传输

    使用socketserver进行多用户的文件传输 服务端 class FtpServer(socketserver.BaseRequestHandler): # 继承socketserver.Base ...

  3. Java自学-类和对象 继承

    什么是 Java的 继承 ? 在LOL中,武器是物品的一种,也是有名称和价格的 所以在设计类的时候,可以让武器继承物品,从而继承名称和价格属性 步骤 1 : 物品类Item 物品类Item 有属性 n ...

  4. ASP.Net超时时间已到解决办法-

    解决办法 1.在代码里面,把未关闭的连接关闭 2.扩大共享池,方法如下: 解决方法可以是修改连接池的连接生存期,因为默认值是60秒,即连接从应用程序被释放后可以在池中保存的时间. 具体操作步骤如下: ...

  5. React Native 开发豆瓣评分(七)首页组件开发

    首页内容拆分 看效果图,首页由热门影院.豆瓣热门.热门影视等列表组成,每个列表又由头加横向滑动的 电影海报列表构成. 所以可以先把页面的电影海报.评分.列表头做成组件,然后在使用 ScrollView ...

  6. Excel 97-2003版本内部结构与查看方法

    MS-XLS内部结构:BIFF格式 https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-xls/cd03cb5f-ca0 ...

  7. mariadb远程授权问题

    安装mariadb后,使用远程连接时 密码没有问题 但是每次打开都报这个错误: 这个错误是在进行远程连接的时候密码正确, 但是,进行远程授权的时候授权密码错误. 在数据库中执行下述代码即可: GRAN ...

  8. java实现mysql数据备份

    /** * @param hostIP ip地址,可以是本机也可以是远程 * @param userName 数据库的用户名 * @param password 数据库的密码 * @param sav ...

  9. AD10生成Gerber文件详细步骤

    参考:https://wenku.baidu.com/view/faf0363c195f312b3069a5d2.html

  10. php中函数的类型提示和文件读取功能

    这个没有深入. <?php function addNumbers(int $a, int $b, bool $printSum): int { $sum = $a + $b; if ($pri ...