安装pyinstaller

如果使用了VirtualENV环境,则必须在要打包的项目环境中安装... 否则会找不到项目需求的包和模块

pip install -i https://pypi.douban.com/simple pyinstaller

pyinstaller相关参数

-F : 打包成单个可执行文件
-w : 打包之后运行程序,只有窗口不显示命令行
-c : 打包之后运行程序,显示命令行

注意 : 如果使用 -F参数,会导致程序无法正常读取外部的配置文件,也许是我配置问题.具体依据自己测试. -w-c不可以同时使用. 看解释就明白了.. 这俩冲突

打包命令

程序入口文件必须在项目根目录,要不貌似无法正常找到项目需求的模块什么的,也许是我设置问题,具体自行测试

# 打开CMD或者终端,切换到项目根目录
pyinstaller -w <程序入口文件名>.py

注意 : 打包过程中可能会报出一堆,找不到api-xxx-xxx-xx.dll之类的警告,我打包之后运行程序没问题... 这个也自行测试.

打包完成标志

项目目录下存在builddist<入口程序文件名>.spec
其中打包好的可执行程序在dist目录中就能看见, 其他;两个文件没什么卵用,可以直接删除.

使用WinRAR封装打包好的exe为安装包

快捷方式的图标.必须提前放在项目文件夹中,否则没办法在新建快捷方式的时候,显示图标

  • 第一步 : 全选所有文件,右键单击添加到压缩文件中

     
    添加到压缩文件.png
  • 第二步 : 勾选自解压选项和锁定压缩文件,并起一个高大上的名字

     
    配置自解压和压缩文件名.png
  • 第三步 : 选择高级选项卡,点击自解压文件选项

     
    自解压文件选项.png
  • 第四步 : 选择高级选项卡, 点击添加快捷方式

     
    点击添加快捷方式.png
  • 第五步 : 如下图配置快捷方式信息
     
    快捷方式信息.png

    注意 : 快捷方式的图标路径是相对路径,默认是项目的根路径,也就是你全选所有文件打包的位置, 参考上图中的图标设置方式,直接写的是项目根目录下的图标.ico. 快捷方式图标必须是ico文件.. 其他图标自己试验.

  • 第六步 : 切换到更新选项卡,覆盖方式,选择覆盖所有文件和解压并替换文件

     
    更新设置.png
  • 第七步 : 文本和图标设置,如下图设置对应信息

     
    文本和图标设置.png
  • 第八步 : 许可信息设置,如下图设置对应信息

     
    许可信息设置.png
  • 第九步 : 模块设置,如果程序不是64位,就选择第一个就好

     
    模块设置.png

结尾

建议打包后,自己安装一次试试看看能不能正常运行.
使用WinRAR打包的程序其实就是绿色程序, 没有注册表等信息
卸载的时候直接删除文件夹和对应的快捷方式就行

作者:含白
链接:https://www.jianshu.com/p/40a1977481cb
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Python打包项目为EXE程序的更多相关文章

  1. python打包py为exe程序:PyInstaller

    打包库:PyInstaller python程序编写过程中的脚本文件为py格式的文件,当我们想将编写好的程序移植到其他机器上给其他人使用时,如果目标机器没有安装python环境,py文件将无法运行,而 ...

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

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

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

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

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

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

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

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

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

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

  7. 4-QT的程序打包发布(将QT5的工程项目打包成一个exe程序)

    https://blog.csdn.net/windsnow1/article/details/78004265 最近,在学习QT5的过程中,想尝试着把自己写的工程程序给打包发布出来,在任何一台win ...

  8. QT5的程序打包发布(将QT5的工程项目打包成一个exe程序)

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

  9. 使用PyInstaller打包Python角本为exe程序

    一.经过测试 在Windows平台请使用Windows平台的pyinstaller,Linux平台请使用Linux平台的Pyinstall角本. 二.命令如下: pyinstaller -F --ic ...

随机推荐

  1. python语法_if判断

    age_of_princal = 56 guess_age = int(input("e guess a age:")) if guess_age == age_of_princa ...

  2. Selenium 3----控制浏览器操作

    控制浏览器窗口大小 eg:将浏览器设置成移动端大小(480*800),进行访问 set_window_size()方法: from selenium import webdriver driver=w ...

  3. 2018-2019-2 20165330《网络对抗技术》Exp5 MSF基础应用

    目录 基础问题 相关知识 实验目的 实验内容 实验步骤 离实战还缺些什么技术或步骤? 实验总结与体会 实验目的 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路 返回目 ...

  4. Attention模型

    李宏毅深度学习 https://www.bilibili.com/video/av9770302/?p=8 Generation 生成模型基本结构是这样的, 这个生成模型有个问题是我不能干预数据生成, ...

  5. Docker入门基础(一)

    Docker入门基础 Linux只存在文件目录,不存在“盘”的概念 Dockers优点:方便部署环境.资源占用少(微服务) Docker的三大概念 镜像:类似虚拟机的镜像.用俗话说就是安装文件.容器: ...

  6. @ConfigurationProperties + @EnableConfigurationProperties

    1.ConfigurationProperties 在类上通过@ConfigurationProperties注解声明当前类为属性读取类. 举例: @ConfigurationProperties(p ...

  7. Apache 2.4.27外网访问403(Forbidden)错误

    httpd.conf <Directory /> AllowOverride none #Require all denied 注释这句 Allow from all Require al ...

  8. 使用JavaScript实现在页面上所有内容加载完之前一直显示loading...页面

    Html <body class="is-loading"> <div class="curtain"> <div class=& ...

  9. Vue滑动删除与修改

    Vu+element实现 <template> <div class=""> <div class="slider"> &l ...

  10. linux----------今天又遇到一个奇葩的问题,就是linux文件的权限已经是777了但是还是没有写入权限,按照下面的命令就解决了

    查看SELinux状态: 1./usr/sbin/sestatus -v  ##如果SELinux status参数为enabled即为开启状态 SELinux status:             ...