cx_Freeze

2023-10-19 12:10
文章标签 freeze cx

本文主要是介绍cx_Freeze,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • cx_Freeze
    • cx_Freeze原生直接打包
    • 使用pipenv作为虚拟环境(减少不必要的打包)
      • 创建虚拟环境
      • 激活虚拟环境
      • 安装依赖
      • 运行
      • 打包程序
      • 删除/清空环境的依赖
      • 退出环境
      • 删除环境
    • 使用pycharm的项目环境打包
      • pycharm版本信息
      • 创建虚拟环境
      • 安装依赖
  • pyinstaller
    • 版本信息

cx_Freeze

cx_Freeze原生直接打包

原文连接:https://stackoverflow.com/questions/41570359/how-can-i-convert-a-py-to-exe-for-python
原文连接:https://cx-freeze.readthedocs.io/en/latest/setup_script.html
原文连接:https://wiki.wxpython.org/cx_freeze
在参考上述原文后,自己根据实际需求调整

python版本:3.7
cx_Freeze信息

  • cx-Freeze : 6.14.7

cx_Freeze是一个把python文件转成exe文件的程序。
使用方法:
在工程根目录下建立setup.py文件,然后运行python setup.py build

setup.py

# -*- coding:utf-8 -*-
# author: cyz
# time: 2021/9/22 9:35
import os, sys# sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..'))
# os.chdir(os.path.dirname(os.path.abspath(__file__)))# https://stackoverflow.com/questions/41570359/how-can-i-convert-a-py-to-exe-for-python
# https://cx-freeze.readthedocs.io/en/latest/setup_script.html
from cx_Freeze import setup, Executablebase = None
# if sys.platform == 'win32':
#     base = 'Win32GUI'# 主运行程序
executables = [Executable("main_1.py", base=base), Executable("main_2.py", base=base)] # 2哥
# 需要引用的第三方包
packages = ["configparser","pandas","os","sys","sqlalchemy","datetime","dateutil","concurrent","urllib","re"]# 排除不压缩进去
excludes =["tools","internal.pkg.login.sql_login"]  # 自己写的自定义包
# 需要额外的数据文件
include_files = ["config_function.xlsx","config_sql.ini","pkg","source","result"] + ["tools.py","internal"]  # 把自定义包作为外部数据文件options = {'build_exe': {'packages':packages,'include_files':include_files,'excludes':excludes},
}setup(name = "1",  # 应用名称options = options,version = "5",  # 版本号description = '',  # 描述executables = executables
)

20220301:这个打包程序有严重的问题,它会把整个py的安装的所有package都打包进去,而不是按照实际使用的package来打包。api官网给的代码无效。下面基本上把整个py的库都打包了。
在这里插入图片描述
它把我的pytorch跟tf都打包进去了,然而我并没有使用。

使用pipenv作为虚拟环境(减少不必要的打包)

参考文章:https://zhuanlan.zhihu.com/p/37581807
参考文章:https://blog.csdn.net/qq_42951560/article/details/124224972#:~:text=pipenv%201%20%E5%88%9B%E5%BB%BA%E7%8E%AF%E5%A2%83%EF%BC%9A%20pipenv%20install%202%20%E6%BF%80%E6%B4%BB%E7%8E%AF%E5%A2%83%EF%BC%9A%20pipenv,shell%203%20%E9%80%80%E5%87%BA%E7%8E%AF%E5%A2%83%EF%BC%9A%20exit%204%20%E5%88%A0%E9%99%A4%E7%8E%AF%E5%A2%83%EF%BC%9A%20pipenv%20–rm
参考文章:https://www2.jianshu.com/p/786913f3ab89#:~:text=%E6%9C%89%E4%B8%A4%E7%A7%8D%E6%96%B9%E5%BC%8F%E8%BF%90%E8%A1%8C%E7%A8%8B%E5%BA%8F%201%E3%80%81%E7%9B%B4%E6%8E%A5%E8%BF%90%E8%A1%8C%20%24pipenv%20run%20python3%20project1.py%202%E3%80%81%E5%90%AF%E5%8A%A8%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83%E8%BF%90%E8%A1%8C,%24pipenv%20shell%20%23%E5%90%AF%E5%8A%A8%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83%20%24python3%20project1.py%20%24exit%20%23%E9%80%80%E5%87%BA%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83
参考文章:https://blog.csdn.net/g11023225/article/details/106106096
官网:https://pipenv.pypa.io/en/latest/index.html

pipenv信息

  • distlib : 0.3.6
  • filelock : 3.10.7
  • pipenv : 2023.3.20
  • platformdirs : 3.2.0
  • virtualenv : 20.21.0
  • virtualenv-clone : 0.5.7

常用指令

  • 创建环境: pipenv install
  • 激活环境: pipenv shell
  • 退出环境: exit
  • 删除环境: pipenv --rm

创建虚拟环境

首先,使用 pipenv install创建一个虚拟的环境。
在这里插入图片描述

激活虚拟环境

激活虚拟环境pipenv shell
在这里插入图片描述
激活后文件夹下面会产生两个文件Pipfile与Pipfile.lock,其中Pipfile记录虚拟环境的信息,可以使用记事本打开。
在这里插入图片描述

安装依赖

安装依赖到虚拟环境pipenv install [package]或者pip install -r requirements.txt
在这里插入图片描述
查看虚拟环境中的所有安装的包
如果没有进入虚拟环境中,则需要先使用pipenv shell进入虚拟环境。然后使用pip list查看,或者使用pip freeze > requirements.txt导出所有安装的包。
在这里插入图片描述

运行

在虚拟环境中运行。有两种方法:
1.直接运行 : pipenv run python3 main_1.py
2.启动虚拟环境后再运行

pipenv shell
pyhton main_1.py

在这里插入图片描述
测试运行会不会缺少运行包,缺少则按照上方重新下载到虚拟环境即可。

打包程序

在虚拟环境中运行python setup.py build进行打包,打包后的大小。
在这里插入图片描述

删除/清空环境的依赖

删除指定的包:pipenv uninstall [package]
清空:pipenv uninstall --allpipenv uninstall --all-dev
在这里插入图片描述
这时候在环境中查询
在这里插入图片描述
里面的依赖包已经完全清空

退出环境

退出环境: exit

删除环境

删除环境: pipenv --rm
在这里插入图片描述

使用pycharm的项目环境打包

pycharm版本信息

创建虚拟环境

使用pycharm打开一个没有pycharm配置信息的项目,直接选择创建一个当前项目环境,选择如下:
在这里插入图片描述

Denpendencies可以不填写依赖文件版本,等后续自己安装也行。

或者在项目中手动创建也行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建好后可以看到文件夹下有py的项目环境。
在这里插入图片描述

安装依赖

直接使用路径的python安装即可,跟普通的安装方法一样。
在这里插入图片描述
后面就正常的压缩即可。

pyinstaller

版本信息

官网:https://pipenv.pypa.io/en/latest/index.html
官网:https://pyinstaller.org/en/stable/
python版本:3.7
pyinstaller信息

  • altgraph : 0.17.3
  • pefile : 2023.2.7
  • pyinstaller : 5.9.0
  • pyinstaller-hooks-contrib : 2023.1

pipenv信息:

  • distlib : 0.3.6
  • filelock : 3.10.7
  • pipenv : 2023.3.20
  • platformdirs : 3.2.0
  • virtualenv : 20.21.0
  • virtualenv-clone : 0.5.7

这篇关于cx_Freeze的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/239656

相关文章

汽车免拆诊断案例 | 马自达CX-3无音频输出

故障现象: 使用触摸屏打开收音机时,单选按钮打开收音机,但无法访问菜单。使用中控台中的旋转控制旋钮时,也会遇到相同的情况。 没有音频输出到车上的任何扬声器,包括卫星导航、蓝牙或语音识别。音量调节也不起作用,当调整音量高低、进度左右或前后的设置时,可以进行调节,但几秒钟后会恢复到调节前的位置。 故障诊断: 扫描车辆的故障码,未发现有故障码,但与连接主控单元 (CMU) 有通信。CMU 控

windows C++-windows C++/CX简介(七)

在本文中,我们将介绍静态成员函数以及 Windows 运行时如何支持它们。Windows 运行时引用类型,在 C++/CX 中也称为 ref 类或运行时类可以具有静态成员函数。在 C++/CX 中,用于在运行时类中声明静态成员函数的语法与在普通 C++ 类中使用的语法完全相同。为了演示这一点,下面是一个具有一个静态成员函数的运行时类:     public ref class KnownValu

【pytorch】固定(freeze)住部分网络

https://blog.csdn.net/jningwei/article/details/120300014 如果使用过了FSDP架构,需要使用pytorch2.0以上的版本。use_orig_params=true https://github.com/pytorch/pytorch/issues/104690 https://pytorch.org/docs/stable/fsdp.

windows C++-windows C++/CX简介(三)

^类型  (^) 是 C++/CX 最突出的功能之一——当人们第一次看到 C++/CX 代码时,很难不注意到它。那么,^ 类型到底是什么?这是类型是一种智能指针类型,它自动管理 Windows 运行时对象的生命周期,也 提供自动类型转换功能以简化 Windows 运行时对象的使用。 我们将首先讨论如何通过 WRL 使用 Windows 运行时对象,然后解释 C++/CX 帽子如何工作以使事情

PostgreSQL vacuum freeze

一、简介   数据库使用 32 位事务号,最大容纳 42 亿左右的事务号,事务号是循环使用的。当前事务号过去的 21 亿事务属于过去的事务号,当前事务号往前的 21亿 属于未来的事务号,未来的事务号对当前事务是不可见的。当事务号处于未来事务时,就会导致该事务不可见(事务 ID 回卷),为了预防此类情况发生,数据库事务号在达到阈值时 autovacuum 会自动冻结(freeze)重置事务 ID

Intel8086处理器-通用寄存器之AX/BX/CX/DX

本文的代码在Visual Studio 2019下完成 这4个寄存器都是16位寄存器,他们都可以随心所欲的使用,但是,原则上还是有一些约定俗成的用途的,所以我们在使用的时候也应该尽可能的按照这些约定去使用,大致如下 一:AX寄存器 AX是16位寄存器,由AH+AL两个8位寄存器组成 (1)用于数据中转:高级语言反汇编中CPU通常使用ax进行中转数据,比如要往ds寄存器中放数据的话,不可以mo

在Python3.4下,用cx_freeze打包PyQt4程序

转自文章 http://blog.csdn.net/lawme/article/details/44094429 目录(?)[-] 下载cx_freeze修改下载文件的扩展名把该文件解压缩删除cx_freeze的旧包放置cx_freeze的新包测试新包是否工作正常 受到love小树林的启发,圆满完成了打包。操作过程如下: 1、下载cx_freeze 这里是下载的

torch入门笔记20:torch实现freeze layer的操作

这两天一直在尝试着在torch的框架内实现freeze layer,通过search google,从极少的文档中找到比较work的方法,故而总结在这。 You can set the learning rate of certain layers to zero by overriding their updateParameters and accGradParamete

SAP PP学习笔记 - 错误 CX_SLD_API_EXCEPTION - Job dump is not fully saved (too big)

我这个错误是跑完MRP,然后在MD04查看在库/所有量一览, 点计划手配(Planned order 计划订单)生成 制造指图(Production order 生产订单), 到目前这几步都OK,然后在制造指图界面点保存的时候报了错。 1,错误详细 错误如下: 実行時Error       UNCAUGHT_EXCEPTION 例外                   CX_SLD_

C#与C++混合编程---C++/CX语法

1. C++/CX语法 1.1 命名空间 在标准C++里面命名空间是为了防止类型的冲突,但在windows运行时中,使用C++编程需要给所有的程序类添加上命名空间,这是windows运行时的一种语法规范。这也是C++/CX语法的命名空间与标准C++命名空间最大的区别。在C++/CX中命名空间的可以嵌套。 windows运行时的api都在Windows::*命名空间里面,在windows.wi