广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python打包Exe程序需要避的坑有哪些
  • 779
分享到

Python打包Exe程序需要避的坑有哪些

2023-06-15 13:06:18 779人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

python打包Exe程序需要避的坑有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。写完一个Python程序之后,如何才能快速地将代码分享给别人,尤其对于初学者来说,能把自

python打包Exe程序需要避的坑有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

写完一个Python程序之后,如何才能快速地将代码分享给别人,尤其对于初学者来说,能把自己的代码包装成一个exe程序并传递到别人电脑上运行,那是一件非常有成就感的事。好在python自带简易打包程序,让很多人能过一把当程序员的瘾。目前流行的打包库就有py2exe、pyinstaller和cx_Freeze。

但python的运行环境复杂,编写的程序往往是借助了很多附加的功能库来实现,对简单的打包会造成一定困难。本人也是在经历了多次的打包失败和成功的经历之后,觉得pyinstaller的成功率最高,所以有必要针对pyinstaller写一篇避坑指南。

一、安装

使用python的pip安装,在cmd窗口,使用pip install pyinstaller,即安装完成。然后配置好环境变量。

二、使用

例如在程序6.py所在文件夹打开cmd窗口。一般输入pyintaller -F  **.py(命令符的具体含义在下文中解释),回车即开始打包。顺利的话,会出现打包成功的反馈,如下图,这时,就说明文件已经打包完成了。dist文件夹里面就放着打包完的exe程序,使用时剪切出来就行了。如果运气好或者本身程序比较简单,那这个exe就能在任何电脑运行了。

Python打包Exe程序需要避的坑有哪些

但往往没这么容易,pyinstaller在使用中有很多坑,打包的开始,也是修补的开始。

三、遇坑填坑

1.文件路径中不能出现中文

否则会在打包过程中直接出现如下报错。这时只要把所在文件夹和程序名字改成英文或者数字重新打包即可。可以打包完再将exe的名字改回来。

Python打包Exe程序需要避的坑有哪些

2.缺少导入hook文件

有时即使打包成功了,在运行exe时候,还是会有报错并闪退。

如果报错为:FileNotFoundError: [Errno 2] No such file or directory:……

那是缺少hook文件,要在pyinstaller的安装路径里的hook增加一个自定义的hook。hook文件的命名规范为:  hook-【库名】.py。例如以我在打包程序中用了结巴分词这个功能库为例,那我要建立一个hook-jieba.py,并写入:

from PyInstaller.utils.hooks import collect_data_files datas = collect_data_files("jieba")

然后放到~\Lib\site-packages\PyInstaller\hooks中去,再次运行pyinstaller打包既可解决该问题。

3.缺少导入功能库模块

如果报错为 no moduler named  “pandas._libs.skiplist”,那就要手动import库,解决方法打开生成的spec文件,找到  hiddenimports=[],加上要添加的库,将其改动如下,hiddenimports=["pandas._libs.skiplist"],然后删除dist里面的exe文件,重新用spec文件打包,pyinstaller  **.spec。即可解决该问题。

Python打包Exe程序需要避的坑有哪些

四、花式打包

涉及到打包的几个重要参数如下。

  • -F,将所有内容打包到一个exe中,方便发送,一般都使用这个参数。

  • -c,此为windows系统的默认选项,使用这个参数,运行时会有一个黑窗控制台。

  • -w,使用这个参数,运行时不会出现黑窗控制台。

  • -i 使用这个参数用于生成自定义图标的exe,在这后面要加上ico图片的地址。例如,pyinstaller -i D:\icons\demo.ico  **.py

将程序打包成exe发送出去或者供用户下载,是一个比较传统的传播方式,并且比较笨重,其实用简单的H5或者小程序就能实现一样的效果,对用户而言也更方便,也是朝着轻应用的方向发展。此外,对于专业用户还能通过GitHubapi等方式传播。随着网络观念的深入人心和5G时代到来,相信有更好的方式能更安全、快捷、私密地将工具的功能传递给所需要的用户。

看完上述内容,你们掌握Python打包Exe程序需要避的坑有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网Python频道,感谢各位的阅读!

--结束END--

本文标题: Python打包Exe程序需要避的坑有哪些

本文链接: https://www.lsjlt.com/news/280273.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python打包Exe程序需要避的坑有哪些
    Python打包Exe程序需要避的坑有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。写完一个python程序之后,如何才能快速地将代码分享给别人,尤其对于初学者来说,能把自...
    99+
    2023-06-15
  • 小程序设计中需要避开的坑有哪些
    这篇文章主要介绍了小程序设计中需要避开的坑有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇小程序设计中需要避开的坑有哪些文章都会有所收获,下面我们一起来看看吧。一、设计稿最好用二倍图UI设计师都喜欢用一倍图...
    99+
    2023-06-27
  • Java 打包 NumPy 和 Django 的坑点有哪些需要注意?
    在 Java 开发中,我们常常需要将 Python 库打包到 Java 项目中。本文将重点讲解在 Java 项目中打包 NumPy 和 Django 库时需要注意的坑点。 NumPy 库的打包 NumPy 是 Python 中用于科学...
    99+
    2023-09-04
    打包 numy django
  • python打包成exe的方式有哪些
    本篇内容主要讲解“python打包成exe的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python打包成exe的方式有哪些”吧!python 上常见的打包方式目是通过 pyinst...
    99+
    2023-06-25
  • 存储方面,Java 和 JavaScript 有哪些常见的坑点需要避免?
    在软件开发中,存储是一个非常重要的方面。在使用Java和JavaScript进行开发时,存在许多常见的存储坑点,需要我们避免。在本文中,我们将介绍Java和JavaScript中存在的一些常见的存储坑点,并提供相应的解决方案。 一、Java...
    99+
    2023-08-05
    存储 面试 javascript
  • Python 打包 NumPy 编程算法:你需要注意哪些细节?
    NumPy 是 Python 的一个重要扩展库,它提供了高性能的多维数组对象和相关工具,可以用来进行快速的数值计算。在 Python 中,很多机器学习和深度学习的库都依赖于 NumPy,因此打包 NumPy 编程算法是很重要的一步。本文将...
    99+
    2023-06-30
    打包 numy 编程算法
  • Java路径打包有哪些需要注意的问题?
    Java作为一种常用的编程语言,经常需要进行打包操作。在进行Java路径打包时,需要注意一些问题,以确保打包后的程序能够正常运行。下面将介绍一些Java路径打包需要注意的问题。 打包时需要注意的文件 在进行Java路径打包时,需要注意哪...
    99+
    2023-08-22
    path 打包 索引
  • ASP IDE打包加载过程中有哪些需要注意的问题?
    当我们在开发ASP应用程序时,常常需要打包和加载程序。这个过程中,有一些细节需要注意,否则会导致程序无法正常运行。本文将介绍ASP IDE打包加载过程中的一些需要注意的问题,并附带演示代码。 打包过程中需要排除哪些文件? 在ASP I...
    99+
    2023-08-21
    ide load 打包
  • 如何在 Python 中正确使用索引和打包功能?有哪些常见错误需要避免?
    Python 是一种高级编程语言,广泛应用于各种领域。其中,索引和打包功能是 Python 中常用的两种操作。正确使用这两个功能可以提高代码的效率和可读性。但是,如果使用不当,会导致程序出错或产生不必要的麻烦。本文将介绍如何在 Python...
    99+
    2023-10-08
    关键字 打包 索引
  • 从Python异步编程到Linux应用程序打包:这里有你需要的一切
    Python是一种非常流行的编程语言,而Python异步编程和Linux应用程序打包是Python开发中的两个重要领域。在本文中,我们将从Python异步编程开始,一步步向您介绍如何将Python应用程序打包成Linux应用程序。 一、Py...
    99+
    2023-09-05
    linux 异步编程 打包
  • 小程序开发需要的技术有哪些
    这篇文章给大家分享的是有关小程序开发需要的技术有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。微信成为一种生活方式的目标已经实现,可以说微信已是移动互联网中的独立生态王国,现在微信要借小程序收割线下的流量!无...
    99+
    2023-06-15
  • 用Python编程需要的软件有哪些
    本篇内容介绍了“用Python编程需要的软件有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、终端:UptermUpterm简单好用,...
    99+
    2023-06-15
  • PHP 和 NPM 的函数打包,有哪些需要注意的事项?
    在 PHP 和 NPM 中,函数打包是一种非常常见的技术。它可以将多个函数打包到一个文件中,以便于组织和管理。但是,在进行函数打包时,需要注意以下几个事项,以避免出现意外的错误。 命名空间的问题 在 PHP 中,如果你将多个函数打包到...
    99+
    2023-09-12
    npm 函数 打包
  • Laravel项目打包:Linux系统下,PHP程序员需要注意哪些问题?
    Laravel是一个流行的PHP框架,它提供了许多有用的功能和工具,使得开发者能够轻松地构建高质量的Web应用程序。当我们完成了一个Laravel项目的开发后,我们需要将其打包并部署到生产环境中。本文将介绍如何在Linux系统下打包Lar...
    99+
    2023-06-03
    linux 打包 laravel
  • Linux 下打包 PHP 索引,你需要掌握的技巧有哪些?
    在开发 PHP 程序时,打包 PHP 索引是必不可少的一步。通过打包,可以将 PHP 程序的所有文件打包成一个文件,方便程序的部署和维护。本文将介绍在 Linux 下打包 PHP 索引的相关技巧和注意事项,帮助 PHP 开发人员更加高效地...
    99+
    2023-08-18
    索引 打包 linux
  • ASP、Linux和NPM的打包过程中需要注意哪些问题?
    ASP、Linux和NPM是现代Web开发中常用的工具和技术。在开发过程中,打包是非常重要的一步,它能够将应用程序的所有组件和依赖项打包成一个可执行的文件或者库。然而,在打包过程中可能会出现一些问题,下面就让我们来一起探讨一下ASP、Lin...
    99+
    2023-06-25
    linux npm 打包
  • Java程序员需要突破的技术有哪些
    这篇文章主要介绍“Java程序员需要突破的技术有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java程序员需要突破的技术有哪些”文章能帮助大家解决问题。 一...
    99+
    2022-10-19
  • 开发新闻小程序需要的功能有哪些
    本文小编为大家详细介绍“开发新闻小程序需要的功能有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“开发新闻小程序需要的功能有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。新闻资讯小程序开发功能简介:热门新...
    99+
    2023-06-27
  • 商城小程序需要具备的功能有哪些
    这篇文章给大家分享的是有关商城小程序需要具备的功能有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。越来越多的线下实体门店商家意识到搭建自己的小程序商城的重要性,但是对于如何做好微信小程序商城的问题,还是有很多...
    99+
    2023-06-27
  • Java程序员所需要掌握的技能有哪些
    这篇文章跟大家分析一下“Java程序员所需要掌握的技能有哪些”。内容详细易懂,对“Java程序员所需要掌握的技能有哪些”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Java程序员...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作