Python3打包exe代码2种方法实例解析
这篇文章主要介绍了Python3打包exe代码2种方法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
cx_Freeze(不推荐)
以前只用 cx_Freeze 支持将 python3 打包成 exe ,示例如下:
在你要打包的 python 文件下新建这个 setup.py 文件:
#!/usr/bin/env python # -*- coding: utf-8 -*- from cx_Freeze import setup, Executable base = None executables = [ Executable('你的代码.py', base=base) ] setup( name="TTyb", version="1.0", description="打包示例", executables=executables )
然后在当前命令行执行:
python3 setup.py build
这时候会在当前目录下生成一个 build 文件,里面就有一个 exe
注意: cx_Freeze 打包回忽略依赖文件,所有一般依赖文件要手动从 site-packge 里面拷贝到build文件里面去,特别麻烦!
PyInstaller(推荐)
后面 PyInstaller 开始支持 python3 打包,这样子打包就方便很多了,直接在当前命令行下:
#命令语法:pyinstaller -F 文件名(带后缀py) #常用参数说明: #–icon=图标路径 #-F 打包成一个exe文件 #-w 使用窗口,无控制台 #-c 使用控制台,无窗口 #-D 创建一个目录,里面包含exe以及其他一些依赖性文件 #pyinstaller -h 来查看参数 #将cmd的目录切换至(命令:cd 文件路径(注意空格))需要打包的py文件目录下: #有命令窗口弹出 pyinstaller -F shjys_rjjqk.py #无命令窗口弹出 pyinstaller -F -w shjys_rjjqk.py #或者 pyinstaller -F shjys_rjjqk.py --noconsole
打包好的exe文件,在同目录的 dist 文件中,如果有依赖文件,就可以放到dist文件夹下即可
当打包出现错误:
for real_module_name, six_moduleAttributeError: 'str' object has no attribute 'items'
说明 setuptools 版本不行,直接更新这个版本就好:
pip3 install -U setuptools
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
python带参数打包exe及调用方式
1.举个栗子:XX.py import sys arg1 = sys.argv[1] arg2 = sys.argv[2] print(arg1) print(arg2) 平时运行python XX.py arg1 arg2 打包完成后运行XX.exe arg1 arg2 打包完成后运行后并获得print输出 output=os.popen('path\XX.exe arg1 arg2').read() 2.一般打包都是使用pyinstaller -F -w xxx.py,传入参数之后没有任何提
-
将python文件打包成EXE应用程序的方法
相信大家都想把自己完成的项目打包成EXE应用文件,然后就可以放在桌面随时都能运行了,下面来分享利用pytinstaller这个第三方库来打包程序,既简单又快捷,我也试过用其他的方式来打包Python文件,但是都没有pyinstaller这个好用和快捷 首先我将详细的将整个操作过程写出来,你首先要安装pycharm,这个无脑的操作,就不必说了,(看完一定能学会) 打开pycharm的终端terminal,然后pip install pyinstaller(任何库都可以) 然后会出现安装日志 因为我
-
使用虚拟环境打包python为exe 文件的方法
使用过anaconda环境下打包py文件的一点感悟,使用的是pyinstaller+anaconda环境下打包py文件 打包: pyinstaller -F -w -i logo.ico xxxx.py -F:强制打包 -w:不带后台命令窗口 -i: 使用logo图标的地址 需要打包的文件 遇到的问题: 1.首先对于使用anaconda打包py文件是存在问题的: 1)打包出来的exe会很大,会打包很多关联库: 2)而其中的一些关联库是没有用,而导入这些库会拖慢程序运行的效率. 解决:使用虚拟环境
-
python3.7将代码打包成exe程序并添加图标的方法
1.环境 1.python 3.7 2.pyinstaller 2.下载方式: 2.1 python安装(略) 2.2 安装pyinstaller 打开DOS窗口输入以下命令: pip install pyinstaller 3.打包exe程序 打开DOS窗口,输入命令:pyinstaller -F -w *.py(星号是.py的全部路径) pyinstaller -F -w G:\automation\test.py (备注:-F是打包单一文件,-w是运行时不弹出黑窗口) 如下图显示,打包成功
-
Python 3.6打包成EXE可执行程序的实现
1.下载pyinstaller python 3.6 已经自己安装了pip,所以只需要执行 pip install pyinstaller就可以了 2.打包程序 进入到你你需要打包的目录:比如我在H:\xcyk 开始打包,执行pyinstaller xxx.py 我们发现,竟然报错!!!,然后去官网看,说不支持python3.6打包 3.解决pyinstaller 暂时不支持python3.6打包方法 为什么说是暂时呢.. 因为,3.6的打包的目前正在完善中... 当然你可以先下载最新的版本暂时
-
Python3 安装PyQt5及exe打包图文教程
环境: Python 3.6.4 + Pycharm Professional 2017.3.3 + PyQt5 + PyQt5-tools ① Python 3 安装 Python 3.x 安装时,默认勾选ADD Python 3.6 to PATH和ADD Python to environment variables的情况下,系统会向path中增加以下两个环境变量. D:\Program Files\Python36\Scripts\; D:\Program Files\Python36\
-
pycharm 将python文件打包为exe格式的方法
因为近期正在学习python,就需要将python文件打包为exe可执行文件,就将该过程记录下来. 首先我是通过Pyinstall打包的,具体安装及打包步骤如下 1.打开终端控制台 通过pip命令进行安装 pip install PyInstall 2.接着会自动下载,安装成功后 通过Pyinstall自带命令进行打包 3.控制台输入 Pyinstall -F xxx(pyw文件路径,例如c://user/desktop/demo.py) 4.打包后exe文件路径在项目下dict文件夹中 具体可
-
python pyinstaller打包exe报错的解决方法
今天用python 使用pyinstaller打包exe出现错误 环境pyqt5 + python3.6 32位 在导入pyqt5包之前加上如下代码 import sys import os if hasattr(sys, 'frozen'): os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH'] from PyQt5.QtWidgets import QApplication, QMainWindow from py
-
Python3打包exe代码2种方法实例解析
这篇文章主要介绍了Python3打包exe代码2种方法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 cx_Freeze(不推荐) 以前只用 cx_Freeze 支持将 python3 打包成 exe ,示例如下: 在你要打包的 python 文件下新建这个 setup.py 文件: #!/usr/bin/env python # -*- coding: utf-8 -*- from cx_Freeze import setup, Ex
-
JS创建事件的三种方法(实例代码)
1.普通的定义方式 <input type="button" name="Button" value="确定" onclick="Sfont=prompt('请在文本框中输入红色','红色',' 提示框 '); if(Sfont=='红色'){ form1.style.fontFamily='黑体'; form1.style.color='red'; }" /> 这是最常见的一种定义方式,直接将JS事件定义在需要的
-
JS实现星星评分功能实例代码(两种方法)
一.方法1 1.用到图片 2.结构和样式 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> ul { padding-left: 0; overflow: hidden; } ul li { float: left; list-style: no
-
实现Python3数组旋转的3种算法实例
Python3实现旋转数组的3种算法 下面是Python3实现的旋转数组的3种算法. 一.题目 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 例如: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4] 说明: 1.尽可能想出更多的解决方案,至少有三种不同的方法可以解
-
AJAX跨域请求数据的四种方法(实例讲解)
由于浏览器的同源策略 ajax请求不可以接收到请求响应回来的数据 请求数据需要调用浏览器的内置构造函数 XMLHttpRequest() 进行 实例对象 var xhr = new XMLHttpRequest(); 注意点 在IE8之前支持的 ActiveXobject("Microsoft.XMLHTTP"); 记住要进行兼容处理哦 在这里我就不写了 通过该对象进行获取 获取数据的四种状态 xhr.readyState 该属性保存着请求数据的几种状态 1.xhr.open(请
-
Android 中Popwindow弹出菜单的两种方法实例
Android 中Popwindow弹出菜单的两种方法实例 1.popWindow就是对话框的一种方式! 此文讲解的android中对话框的一种使用方式,它叫popWindow. 2.popWindow的特性 Android的对话框有两种:PopupWindow和AlertDialog.它们的不同点在于: AlertDialog的位置固定,而PopupWindow的位置可以随意. AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的. PopupWindow的位置按照有无偏
-
springboot单元测试两种方法实例详解
这篇文章主要介绍了springboot单元测试两种方法实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 springboot的单元测试,这里介绍两种方式,一种是在测试类中添加注解:另一种是在代码中启动项目的main方法中继承接口(也可以写在其他方法中). 如 对查看数据库的连接池信息 进行单元测试 1. 在类上使用注解: @RunWith(SpringRunner.class) @SpringBootTest @RunWith(Sprin
-
JavaScript复制变量三种方法实例详解
这篇文章主要介绍了JavaScript复制变量三种方法实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 直接将一个变量赋给另一个变量时,系统并不会创造一个新的变量,而是将原变量的地址赋给了新变量名.举个栗子: 复制代码 复制代码 let obj = { a: 1, b: 2, }; let copy = obj; obj.a = 5; console.log(copy.a); // Result // a = 5; // 更改obj的值,
-
将python文件打包exe独立运行程序方法详解
首先需要安装pyinstaller库. pip install pyinstaller exe程序打包步骤 cmd 进入要编译的python文件所在的文件夹, 然后 pyinstaller -F hello.py hello.py就是我要打包的文件. 常用参数: -F 生成单个的exe文件. -w 隐藏运行窗口. -h 可以查看帮助信息,更多指令可以通过这个查看. 最开始 D:\pyinstaller 目录下只有hello.py这一个文件,其它的文件都是后生成的. 生成的exe文件在dist里,
-
Vue项目中打包优化的四种方法详解
目录 前言 打包优化的目的: 性能优化的主要方向: 1.异步组件配置(路由懒加载) 2.去掉打包后的 console 3.使用CDN 4.yarn build生成dist目录 总结 前言 默认情况下,通过import语法导入的第三方依赖包,最终会全部打包到一个js文件中,会导致单文件体积过大大,在网速底下时会阻塞网页加载,影响用户体验. 打包优化的目的: 1.项目启动速度,和性能 2.必要的清理数据 3.减少打包后的体积 第一点是核心,第二点呢其实主要是清理console 性能优化的主要方向:
随机推荐
- AngularJS基础 ng-model 指令详解及示例代码
- js实现符合国情的日期插件详解
- VBS监控CPU的使用率(如占用率一直维持在80%超过30秒则运行某程序)
- Powershell实现捕获系统内置EXE程序的异常
- windows7 安装iis7.0图文教程(不需要单独的安装包)
- 利用certutil.exe实现在批处理(bat)中嵌入exe文件的方法
- Python列表和元组的定义与使用操作示例
- PHP 登录完成后如何跳转上一访问页面
- PHP之浮点数计算比较以及取整数不准确的解决办法
- c语言中字符串分割函数及实现方法
- mysql索引失效的五种情况分析
- 不同发行版Linux操作系统如何实现共存
- jQuery Select下拉框操作小结(推荐)
- jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
- 江苏徐州的邮政西联网点一览表
- C++ COM编程之什么是接口?
- 详解Android使GridView横向水平滚动的实现方式
- PHP中shuffle数组值随便排序函数用法
- jQuery中inArray方法注意事项分析
- Android关于WebView中无法定位的问题解决