当前位置:主页 > python教程 >

Python打包方法Pyinstaller的使用

发布:2022-10-17 09:09:24 128


本站收集了一篇Python相关的编程文章,网友富束芳根据主题投稿了本篇教程内容,涉及到Python打包方法Pyinstaller、Python、打包、Python、Pyinstaller相关内容,已被592网友关注,内容中涉及的知识点可以在下方直接下载获取。

Python是一个脚本语言,被解释器解释执行。它的发布方式:

  • .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库。(Python官方的各种安装包就是这样做的)
  • .pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到,可以使用pyc文件发布,pyc文件是Python解释器可以识别的二进制码,故发布后也是跨平台的,需要使用者安装相应版本的Python和依赖库。
  • 可执行文件:对于非码农用户或者一些小白用户,你让他装个Python同时还要折腾一堆依赖库,那简直是个灾难。对于此类用户,最简单的方式就是提供一个可执行文件,只需要把用法告诉Ta即可。比较麻烦的是需要针对不同平台需要打包不同的可执行文件(Windows,Linux,Mac,...)。

本文主要就是介绍最后一种方式,.py和.pyc都比较简单,Python本身就可以搞定。将Python脚本打包成可执行文件有多种方式,本文重点介绍PyInstaller,其它仅作比较和参考。

Python版本:Python3.5.2或本地下载地址

一、安装Pyinstaller

1、安装pywin32

下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装

使用pip命令安装:pip install pywin32

2、安装Pyinstaller

下载安装文件安装:官网

使用pip命令安装:pip install PyInstaller

二、使用Pyinstaller

1、使用下载安装的方式安装的Pyinstaller打包方式

将需要打包的文件放在解压得到的Pyinstaller文件夹中,打开cmd窗口,把路径切换到当前路径打开命令提示行,输入以下内容(最后的是文件名):

python pyinstaller.py -F myfile.py

2、使用pip方式安装的Pyinstaller打包方式

打开cmd窗口,把路径切换到文件所在路径(文件随便放在哪里都行)打开命令提示行,输入以下内容(最后的是文件名):

pyinstaller -F myfile.py

3、输入参数的含义

-F 表示生成单个可执行文件

-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!

-p 表示你自己自定义需要加载的类路径,一般情况下用不到

-i 表示可执行文件的图标

三、注意事项

文件中使用了第三方库的打包方式

在打包之前务必找到第三方库的包,把包复制到到跟myfile.py同目录下,然后再使用以上2种方式打包,否则会打包失败或者即使打包成功,程序也会闪退。

下面演示一下使用了第三方库的打包方式:

找到第三方库的包,如使用了requests,可以使用查找的方式,找到这个包在哪里,然后把它复制到myfile.py同目录下

Python打包方法Pyinstaller的使用

把包文件复制到myfile.py目录下

Python打包方法Pyinstaller的使用

给程序换图标的方法

输入命令中添加一个-i tubiao.ico(图标的相对路径)。如图:

Python打包方法Pyinstaller的使用

四、exe文件生成

如果程序打包过程没有报错,则会生成3个文件夹(有时候是2个),其中名为dist的文件夹中会有一个myfile.exe文件,运行一下,如果没有问题就打包成功,可以把这个exe文件单独拿出去用,其他的生成的文件夹可以删掉了。

Python打包方法Pyinstaller的使用

其他打包工具

distribute

功能类似setuptools. 安装后会有easy_install. 支持Python2和Python3.
官方: https://pypi.python.org/pypi/distribute/0.7.3
已经于2013年7月5日的0.7.3版后停止开发。

distutils2

功能类似setuptools.
官方:https://pypi.python.org/pypi/Distutils2/1.0a4
已经于2012年3月13日的1.0a4版后开始停止开发。
PyPI上的原文: keep using setuptools and pip for now, don't use distutils2.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。


相关文章

  • python3.6如何导入excel里面的数据

    python3.6如何导入excel里面的数据

    发布:2022-09-13

    为网友们分享了关于python3的教程,导入包xlrd模块(先确定python是否安装了xlrd模块),处理数据(获取当前表,并选择表1,或者你改的任何一个名字),处理数据(从表中读取数据,并获取表中数据的行和列),输出数据(pr


  • Python如何查看list中是否含有某元素

    发布:2019-08-13

    今天小编就为大家分享一篇Python 查看list中是否含有某元素的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • python pdfminer库提取pdf文字的实现方法

    发布:2019-11-24

    这篇文章主要介绍了python 提取pdf文字代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下


  • python编程的习惯整理

    发布:2020-07-21

    本文主要和大家分享python编程的一些习惯,主要以代码的方式和大家讲解,希望能帮助到大家。


  • Python实现按学生年龄排序的实际问题详解

    发布:2022-04-13

    这篇文章主要给大家介绍了关于Python实现按学生年龄排序实际问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编


  • python如何开发软件

    发布:2020-07-26

    python当然可以开发软件,Python的主要用途之一就是软件开发。如基于控制台的应用程序、基于音频或视频的应用程序、3D CAD应用程序、Web应用程序等等。


  • python环境安装详细步骤

    发布:2019-07-09

    官网下载python,网址https://www.python.org/downloads/,建议使用python3版本。安装过程中添加python到环境变量。命令行输入python,回车,不报错,即python运行环境安装成功。


  • python3断言是什么

    python3断言是什么

    发布:2022-09-07

    给网友朋友们带来一篇关于python3的教程,python3断言是Assert关键字。断定此处是对的,如果错了,那一定是有问题。如果你断言的语句正确,则什么反应也没有,但是如果有错误,就会抛出 ASSertionError 异常, 错误信息可以自定义


  • Python MySQL数据库中pymysqlpool是如何使用的?

    Python MySQL数据库中pymysqlpool是如何使用的?

    发布:2022-06-22

    给大家整理了关于Python的教程,这篇文章主要跟大家介绍了关于Python MySQL数据库连接池组件pymysqlpool的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。


网友讨论