打包库:PyInstaller

python程序编写过程中的脚本文件为py格式的文件,当我们想将编写好的程序移植到其他机器上给其他人使用时,如果目标机器没有安装python环境,py文件将无法运行,而且如果程序有一些引入的第三方库在目标机器上不存在的话,也会报错。

这时,我们就需要将py打包封装成win上的可执行程序exe。

打包成exe的好处:1.系统不需要预先安装python环境;2.将所需的第三方库和配置等都封装进去;3.隐藏源代码。

PyInstaller是一款很好用的打包工具,使用起来也很简单。

1.首先,安装PyInstaller,可以用pip安装,或者到官网去下载安装。

pip install pyinstaller

2.按 win + R ,输入 cmd 进入命令提示符,或者打开 Windows PowerShell。一路cd进入py文件所在的文件夹。

3.在当前文件夹下执行如下命令

pyinstaller XXX.py

XXX为待打包的py文件名,Enter 后出现如下界面

4.当运行到最后,出现 completed successfully.字样时,说明打包成功。在源文件夹下会生成 __pycache__、build、dist 三个文件夹和一个.spec描述文件。这些都是打包过程中的编译文件,在dist文件夹中的 XXX.exe 就是打包完成的可执行文件,可以拷出来运行。

5.在执行pyinstaller XXX.py 命令的时候还可以加入一些参数,常用的有 -i -w -F

可选参数 命令语句 功能说明
-F pyinstaller -F XXX.py 只在dist中生产一个.exe文件。
-D pyinstaller -D XXX.py 默认选项,除了exe外,还会在在dist中生成很多依赖文件。
-c pyinstaller -c XXX.py 默认选项,只对windows有效,使用控制台,就像编译运行C程序后的黑色弹窗。
-w pyinstaller -w XXX.py 只对windows有效,不使用控制台。(去黑窗)
-p pyinstaller -p D:\path XXX.py
设置导入路径,一般用不到。
-i pyinstaller -i D:\file.ico demo.py 将ico图片设置为exe文件的图标。
 

上面的可选参数可以组合使用,比如

pyinstaller -F -i image.ico XXX.py -w

python打包py为exe程序:PyInstaller的更多相关文章

  1. Python打包项目为EXE程序

    安装pyinstaller 如果使用了VirtualENV环境,则必须在要打包的项目环境中安装... 否则会找不到项目需求的包和模块 pip install -i https://pypi.douba ...

  2. 【python】python打包生成的exe文件运行时提示缺少模块

    事情是这样的我用打包命令:pyinstaller -F E:\python\clpicdownload\mypython.py打包了一个exe程序,但是运行时提示我缺 少bs4模块然后我就去查pyin ...

  3. python 使用pyinstaller,pywin32打包.py成.exe应用程序

    想将编写的Python代码在别人的电脑上运行,由于没有配置python的环境,这就有了困难.搜索学习了下,借助一定的工具可以将python程序的.py文件打包为exe文件,当然有多种方法,本文介绍的方 ...

  4. Autocad中使用命令来调用python对Autocad二次开发打包后的exe程序

    在Autocad中直接调用Python二次开发程序是有必要的,下面介绍一种方法来实现这个功能: 其基本思路是:先将二次开发的程序打包为可执行程序exe,然后编写lsp文件,该文件写入调用exe程序的语 ...

  5. 将Python打包成可执行文件exe的心路历程

    导言: 我们有时候需要将做好的Python程序打包成为一个exe , 方便我们使用,查找了资料发现 pyinstaller .py2exe,最后还是选择的pyinstaller,用的时候踩过了挺多的坑 ...

  6. Python文件.py转换为.exe可执行程序,制作.exe文件图标

    当大家想要将自己写的Python程序对别人进行展示的时候,你是否还是打开你的Pycharm进行运行展示? 假如是专业的人士看你的代码,一眼就能看懂你的代码,而其实我们可以不需要给代码,利用pyinst ...

  7. 如何把Python脚本导出为exe程序

    一.pyinstaller简介 pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行 最新版是pyinstaller 3.1.1.支持python2.7和py ...

  8. 实用技能之Python打包制作成EXE可执行程序

    制作环境:Andconda3,python3.6 一.安装pyInstaller 方式一): 在命令行输入:pip install pyinstaller 方式二): ①   下载pyInstalle ...

  9. Qt ------ window下工程项目打包成一个exe程序

    最近,在学习QT5的过程中,想尝试着把自己写的工程程序给打包发布出来,在任何一台windows系统都能运行,这样就不会限于电脑需不需要安装QT安装包了. 首先,先介绍自己使用的环境.我使用的QT版本是 ...

随机推荐

  1. AttributeError: 'bytes' object has no attribute 'hex'

    python3.5之前bytes数据没有hex()属性 需要使用 ''.join(map(lambda x:('' if len(hex(x))>=4 else '/x0')+hex(x)[2: ...

  2. LG_2967_[USACO09DEC]视频游戏的麻烦Video Game Troubles

    题目描述 Farmer John's cows love their video games! FJ noticed that after playing these games that his c ...

  3. Leetcode7_整数反转

    题目 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321 示例 3: 输入: 120输出: ...

  4. 收集到的技术相关网址——python

    1.Python中常用数据库访问接口模块 专用数据库连接模块——MySQL.SQLite.PostgreSQL.Oracle.IBM DB2.Infomix.Interbase.Sybase.SQL ...

  5. ospf实验二

    R1,R2,R3为17.1.1.0网段 1. R4先做rip #rip 1 #version 2 #undo sum.. #netwokr 14.0.0.0 实验第四条 标记tag 100 在R4上做 ...

  6. Qt 多线程QThread实现方法之一

    基本思想 在主线程中,哪里需用多线程,就在哪里创建一个QThread实例: 把耗时操作封装到一个继承于QObject的子类(这里叫做工作类Worker)槽函数中: 创建QThread实例和Worker ...

  7. java的自增和自减

    class Untitled { public static void main(String[] args) { int a = 3; int b = a++; //a先赋值给b,然后a再自己加1 ...

  8. 我的第一个Quartz代码

    创建Maven项目   打开Eclipse->File->Project->Maven ->Maven Project直接下一步输入Group Id和Artifact Id , ...

  9. 如何为MyEclipse添加XML文档所使用的DTD

    1.打开MyEclipse,找到菜单栏"Window"---->"Preferences(首选项)": 2.在左侧导航菜单栏找到"MyEclip ...

  10. 解析Maven的settings.xml文件

    一.镜像问题 1.为什么需要配置maven国内镜像? 在不配置镜像的情况下,maven默认会使用中央库.--https://repo.maven.apache.org/maven2 maven中央库在 ...