安装mayavi命令,使用cxfreeze打包python脚本

news/2024/10/2 6:44:11
pip install numpy出现A new release of pip is available: 23.2.1 -> 24.2
输入:
python -m pip install --upgrade pip setuptools wheelpip install PyQt5pip install vtk
pip install mayavi
pip install scipypip install configobj

 查看当前项目的依赖包:

pip freeze > requirements.txt

这个命令会将当前环境中安装的所有 Python 包及其版本信息写入 requirements.txt 文件中。 PS:如果你想在另外一个环境安装这些依赖包可以使用这个命令

pip install -r requirements.txt

2、使用cx freeze打包

新建一个脚本,这里为:setup.py

pip install cx_Freeze
from cx_Freeze import setup, Executablebuild_exe_options = {"packages": ["altgraph","apptools","configobj","contourpy","cx_Freeze","cx_Logging","cycler","envisage","importlib_metadata","importlib_resources","kiwisolver","lief","matplotlib","mayavi","numpy","packaging","pefile","pyface","pyparsing","PyQt5","six","traits","traitsui","typing_extensions","vtk","zipp","scipy"],'excludes': [],}setup(name="Test",version="1.0",description="zz.py",author="master",options={"build_exe": build_exe_options},executables=[Executable(script="zz.py", base="win32gui")])

packages:指定要包含在构建中的包列表。这些是你的脚本运行所需的依赖项。
excludes:这是一个空列表,表示没有包被排除在构建之外。

name:应用程序的名称。
version:应用程序的版本。
description:应用程序的简短描述。
author:应用程序的作者。
options:包括之前定义的构建选项。
executables:这是一个 Executable 对象的列表。每个 Executable 对象指定一个要转换为可执行文件的脚本。
script:应用程序的主脚本。
base:设置为 "win32gui",表示该应用程序是一个 Windows GUI 应用程序。

打包

python setup.py build

打开exe程序如果发生报错:
则根据报错信息,比如报错信息如下图的时候把虚拟环境下的dll复制到exe程序下的lib文件夹,然后把整个vtk.libs复制到lib文件下,即可解决

不单单只报一个错误,只需要根据错误找到缺少的文件复制过去就可以了,注意找到错误关键字,ModuleNotFundError,早不到可以用everything工具搜索。我感觉应该是VTK打包的时候会丢失文件,主要是使用了VTK依赖包的时候才会在打包出现各种问题。

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

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

相关文章

设计模式-单一职责原则

阅读设计模式之禅这本书-单一职责原则部分 给出的案例如下: 说上面这个接口设计得一团糟,给出的优化后案例(行为和属性分开): 但回到现实,作为一个业务人员会特别把一个接口再细分下去了吗,我觉得我是不会的(写业务代码已经很累了。。多写一个类自己看的也舒服)。大家有没…

工控机的重要技术:架构与功能

随着工业自动化的快速发展,工控机作为现代工业系统的重要组成部分,其核心技术的研究和应用愈发引起了各界的广泛关注。工控机,作为一种专门用于工业控制和监测的计算机系统,其架构与功能的有效设计和实现直接关系到工业生产的效率与安全。本文将从工控机的基本架构、核心功…

Kubernetes怎么进行NFS动态存储迁移

环境查看 系统环境# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) # uname -a Linux CentOS7K8SMaster01063 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux软件环境 # kubectl version Client Version…

Flutter provider和 getx 区别

前沿 Provider 和 GetX 是 Flutter 社区中常用的两种状态管理解决方案。 它们各自有不同的特点和使用场景,下面是它们的区别和示例,以便更好地理解和选择适合的状态管理方法。示例:Provider 和 GetX 的使用 1. 使用 Provider 的示例 假设我们有一个简单的计数器应用,点击按…

NVIDIA驱动,CUDA,CONDA环境安装

NVIDIA驱动安装检查驱动信息last rebootuname -rcat /var/log/apt/history.lognvidia-smill /usr/src/lsmod |grep nvidialspci |grep -i nvidiadmesg -i |grep nvidiadmesg |grep -i nvidiadmesg |grep -i nvrm dpkg --get-selections | grep linux-image查看加载内核版本zg…

一觉醒来,Qt、C#界面开发的天塌了?

再算上VC、PyQt,之前说“人生苦短,快用python”,现在要说人生苦短,快跳出泥潭!上位机、客户端界面传统开发太重,也不够美。传统开发中,还算不错的 毕竟大部分场景,界面并不是核心。大量时间精力投入在交互、美观、还有各种界面类“面向对象的封装”上,实在不划算。有指…

Linguistics-English-时态16种:4种时间4种状态 + 16种时态详解 + 8种时态的被动语态

时态16种: 4种时间 4种状态时态标志词 + 时态详解 + 8种语态的被动语态:

雨量监测系统需要哪些设备,带你360度无死角了解雨量监测系统

作为星创易联技术支持林工,我很高兴为大家介绍我们公司的雨量监测系统。在过去的几年里,我亲自参与了多个雨量监测项目的设计、部署和维护工作,积累了丰富的实践经验。今天,我将详细介绍我们的雨量监测系统,包括其组成部分、工作原理、应用场景以及部署注意事项。有兴趣的…