Python打包可执行文件-cx_Freeze

news2024/11/25 23:53:11

目录

简介

安装

问题处理

使用

打包


简介

之前有篇文章有使用pyinstaller打包.exe文件,但是没有详细介绍过,这次整理下

python入门-从安装环境配置(Anaconda)到做一个下班打卡提醒.exe小工具_瑶山的博客-CSDN博客

Python程序发布时,通常包括以下三种形式

  • py源码:即源程序代码,使用时需要Python执行环境(包含对应的依赖库)
  • pyc形式:由py文件编译生成,源码私密性提升、运行速度提升
  • 可执行文件:可直接运行的程序文件,不同平台(Mac/Linux/Windows…)下的格式不同,与平台强关联。无须额外下载依赖程序

Python打包可执行程序几种工具,Freezing Your Code — The Hitchhiker's Guide to Python

SolutionWindowsLinuxOS XPython 3LicenseOne-file modeZipfile importEggspkg_resources supportLatest release date
bbFreezeyesyesyesnoMITnoyesyesyesJan 20, 2014
py2exeyesnonoyesMITyesyesnonoOct 21, 2014
pyInstalleryesyesyesyesGPLyesnoyesnoJul 9, 2019
cx_FreezeyesyesyesyesPSFnoyesyesnoAug 29, 2019
py2appnonoyesyesMITnoyesyesyesMar 25, 2019

pyInstaller与cx_Freeze的通用性最强(全平台支持、支持Python3),pyInstaller之前有写过这次就实验下cx_Freeze

安装

环境:Python 3.7.6

# 安装
pip install cx_Freeze

等待下载

问题处理

有个提示处理下

由于依赖关系冲突。

spyder 4.0.1要求pyqt5<5.13;python_version>=“3”,未安装。

spyder 4.0.1要求pyqtwebengine<5.13;python_version>=“3”,未安装。

查看spyder版本

pip install spyder==*

pip install spyder==5.4.4

或者pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ spyder==5.4.4,这个比较快

python-for-android 2020.6.2 has a non-standard dependency specifier pep517<0.7.0"

pip install "pep517<0.7.0"

pip show pep517

其他错误都可以根据 根据错误提示切换或下载对应安装包版本

使用

验证 cxfreeze -h

  File "D:\Anaconda\lib\site-packages\cx_Freeze\parser.py", line 29, in <module>
    lief.logging.set_level(lief.logging.LOGGING_LEVEL.ERROR)
AttributeError: module 'lief' has no attribute 'logging'

重装了lief和更换版本都不行,我找到提示所在文件parser.py打开如下

找到报错位置,注释掉,再次执行cxfreeze -h

打包

脚本setup.py

import sys
from cx_Freeze import setup, Executable

base = None
if sys.platform == "win32":
    base = "Win32GUI"

setup(
    # your Application Name
    name="love",
    version="1.0",
    # Your Application Description
    description="application description",
    author="ys",
    executables=[Executable("your xx.py", base=base)]
)

python setup.py build,执行完后有一个build文件夹,build->exe.win-amd64-3.7下有.exe可执行文件,

 打开如下,与编辑器运行效果相同

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/903893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp编写微信小程序和H5遇到的坑总结

uniapp编写微信小程序和H5遇到的坑总结 1、阻止事件冒泡2、二维码生成3、H5跨域配置4、H5时&#xff0c;地址栏上添加版本号5、H5时&#xff0c;tabBar遮挡部分内容6、uniapp使用webview通信6.1、uniapp编写的小程序嵌入h5之间的通信6.1.1、小程序向h5发送消息6.1.2、h5向小程序…

实验二 tftp 服务器环境搭建

tftp 服务器环境搭建 tftp&#xff08;Trivial File Transfer Protocol&#xff09;即简单文件传输协议是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议&#xff0c;提供不复杂、开销不大的文件传输服务。端口号为69 【实验目的】 掌握 tftp 环境搭…

【2023新教程】树莓派定时自动拍照并上传腾讯云对象存储COS

1 换源 仅适用于Release date: May 3rd 2023、Debian version: 11 (bullseye)这个树莓派OS版本&#xff0c;其他版本不保证有效。 首先使用如下命令&#xff0c;查看自己树莓派的架构。 uname -a结果如下&#xff1a; 如果红圈处显示为aarch64&#xff0c;使用命令sudo na…

Unity C# 引用池 ReferencePool

Unity C# 引用池 ReferencePool 1.目的 对于多次创建的数据使用new 关键字是十分消耗性能的&#xff0c;使用完成后由GC去自动释放&#xff0c;当一个类型的数据频繁创建可以使用引用池进行管理。 2.实现 项目目录 IReference 接口 要放入引用池的数据只需要继承这个接口…

2023.08.20 学习周报

文章目录 摘要文献阅读1.题目2.现有问题3.解决方案4.本文贡献5.方法5.1 利用长短期记忆网络学习时空演化特征5.2 构建用于气象辅助信息编码的堆叠自编码器5.3 使用多任务学习发现全市通用模式5.4 模型 6. 实验6.1 数据集6.2 实验设置6.3 实验结果 7.结论8.展望 大气污染物传输总…

04 - Vue3语法系统进阶 - 全面掌握Vue3特性

目录 01-ref属性在元素和组件上的分别使用02-利用nextTick监听DOM更新后的情况03-自定义指令与自定义全局属性及应用场景04-复用组件功能之Mixin混入05-插件的概念及插件的实现06-transition动画与过渡的实现07-动态组件与keep-alive组件缓存08-异步组件与Suspense一起使用09-跨…

在线SHA256计算哈希(不可逆的加密又称摘要)工具

具体请前往&#xff1a; 在线计算Sha256摘要工具

7.10 SpringBoot实战 全局异常处理

文章目录 前言RestControllerAdvice项目实战最后 前言 在一个项目中&#xff0c;异常处理 是你无法绕过去的话题&#xff01; 不论你多牛逼&#xff0c;你写的代码都可能会出现异常&#xff0c;有的异常非常容易测试出来&#xff0c;但有的异常却需要在非常极端情况下才会出现…

线性代数的学习和整理7:各种特殊矩阵(草稿-----未完成)

目录 1 单位矩阵 为什么单位矩阵I是 [1,0;0,1]T 而不是[1,1;1,1]T 2 旋转矩阵 3 伸缩矩阵 放大缩小倍数矩阵 4 镜像矩阵 5 剪切矩阵 矩阵 行向量 列向量 方阵 1 单位矩阵 [ 1 0 0 1] 为什么单位矩阵I是 [1,0;0,1]T 而不是[1,1;1,1]T 因为 矩阵 [1,0;0,1] 代表…

netty(一):NIO——处理消息边界

处理消息边界 为什么要处理边界 因为会存在半包和粘包的问题 1.客户端和服务端约定一个固定长度 优点&#xff1a;简单 缺点&#xff1a;可能造成浪费 2.客户端与服务端约定一个固定分割符 *缺点 效率低 3.先发送长度&#xff0c;再发送数据 TLV格式&#xff1a; type…

LeetCode 1162. As Far from Land as Possible【多源BFS】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

网络编程(字节序)

一、字节序的概念 字节序是指不同类型CPU主机&#xff0c;内存存储 多字节整数 序列的方式。 float, char, 字符串均没有字节序的说法 short, int , long , long long 有字节序的说法 小端字节序&#xff1a;低字节存储在低地址&#xff0c;高字节存储在高地址 大端字节序…

基于IMX6ULLmini的linux裸机开发系列九:时钟控制模块

时钟控制模块 核心 4个层次配置芯片时钟 晶振时钟 PLL与PFD时钟 PLL选择时钟 根时钟/外设时钟 系统时钟来源 RTC时钟源&#xff1a;32.768KHz 系统时钟&#xff1a;24MHz&#xff0c;作为芯片的主晶振使用 PLL和PFD倍频时钟 7路锁相环电路&#xff08;每个锁相环电路…

Maven打包后的jar文件只有几kb情况解决方法

1、pom文件添加如下代码 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build> 2、打开ide的maven工具侧边栏…

solidwords(5)

我们打算从上面画出总体&#xff0c;再从上面、侧面切除 最后成品

Java网络编程(二)NIO实现简易的多人聊天

服务端实现 package com.bierce.io; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.*; import java.nio.charset.Charset; import java.util.Iterator; import java.util.Set; //服务器端 public cl…

红绿灯识别、倒计时识别(毕业设计)

交通标志识别 本项目使用YOLO 模型&#xff0c;并在对数字信号灯进行数字识别时采用opencv算法。 环境安装 所需环境 python 3.7.11 torch1.2.00 使用 pip install -r requirements.txt安装所需的包。 文件下载 训练所需的预训练权重可在百度网盘中下载。 链接&#xf…

ARM体系结构学习笔记:任何算法可通过下面的三种模式组合而成

任何算法可通过下面的三种模式组合而成 条件跳转和无条件跳转 条件命名规则 关于比较的一些哲学问题 汇编实现if else [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R8R5cYTQ-1692236026691)(https://cdn.jsdelivr.net/gh/nzcv/picgo/202201172242…

Gin+微服务实现抖音视频上传到七牛云

文章目录 安装获取凭证Gin处理微服务处理 如果你对Gin和微服务有一定了解&#xff0c;看本文较容易。 安装 执行命令&#xff1a; go get github.com/qiniu/go-sdk/v7获取凭证 Go SDK 的所有的功能&#xff0c;都需要合法的授权。授权凭证的签算需要七牛账号下的一对有效的A…

回归预测 | MATLAB实现BES-LSSVM秃鹰搜索算法优化最小二乘支持向量机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现BES-LSSVM秃鹰搜索算法优化最小二乘支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现BES-LSSVM秃鹰搜索算法优化最小二乘支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&a…