mayavi -> python 3D可视化工具Mayavi的安装
前言
Mayavi是一个基于VTK(Visualization Toolkit)的科学计算和可视化工具,主要用于数据可视化和科学计算领域。
它提供了一系列的高级可视化工具,包括2D和3D图形、表面和体积渲染、流场可视化等。Mayavi可以通过Python脚本进行调用,也可以通过GUI界面进行操作。Open3D是一个开源的跨平台3D数据处理库,提供了一系列的函数用于点云和三角网格的处理、可视化和深度学习。
它支持多种数据格式,包括PLY、OBJ、OFF等,并提供了一系列的滤波、配准、分割、重建等算法,可以用于3D扫描、机器人视觉、自动驾驶等领域。OpenGL是一个跨平台的图形库,可以用于创建2D和3D图形、交互式应用程序等。
它提供了一系列的函数和工具,用于创建图形、处理图像、渲染纹理等。OpenGL通常使用C++编写,但也可以使用其他编程语言进行编写。OpenGL可以用于游戏开发、虚拟现实、科学可视化等领域。
mayavi依赖的包有:PyQt,traits,VTK。尽管Mayavi能支持python 3.10,但是我在3.8以上的环境中VTK遇到了一些奇奇怪怪不能解决的问题,因此我推荐在3.7以下的环境下安装。
本文用的是python3.7
我的网盘>软件>python>python版本>python-3.7.0
python安装参考:
python下载安装教程_python-程序员的博客-CSDN博客
1.在pycharm(社区版和收费版都可以)项目中下载以下插件
pip install PyQt5==5.15.2 vtk==8.1.2 traits==6.3.2
pip install traitsui==7.2.1 pyface==7.3.0 numpy
pip install mayavi==4.7.1
------->>增加下载速度(这里使用的是阿里云其他的看下面遇到问题2)
pip install PyQt5==5.15.2 vtk==8.1.2 traits==6.3.2 -i https://mirrors.aliyun.com/pypi/simple/
pip install traitsui==7.2.1 pyface==7.3.0 numpy -i https://mirrors.aliyun.com/pypi/simple/
pip install mayavi==4.7.1 -i https://mirrors.aliyun.com/pypi/simple/
------->>最后更新traitsui到最新版参看问题1
pip install traitsui --指定最新版本(参看问题三)

参考:基于pypi的mayavi安装过程_哔哩哔哩_bilibili
测试是否安装成功:
import numpy as np
from mayavi import mlab
x, y = np.ogrid[-2:2:20j, -2:2:20j]
z = x * np.exp( - x**2 - y**2)
pl = mlab.surf(x, y, z, warp_scale="auto")
mlab.axes(xlabel='x', ylabel='y', zlabel='z')
mlab.outline(pl)
mlab.show()

问题1:

解决方法:
更新traitsui到最新版:

问题2:下载插件时文件较大导致超时问题
参考:
python安装模块速度太慢了,教你一招提升百倍安装速度_python如何加速安装模块-CSDN博客
问题3:安装过程中出现"python中,Microsoft Visual C++ 14.0 or greater is required问题解决方案"
参考:
-----------------------------------------2024//25----------------------------------------------------
1.最近在网上看到有人使用Anaconda来配置Python环境,但配置好的VTK总是缺少模块,而且还会出现其他问题。相比之下,未必有以上方法效果好,其缺点主要是安装速度较慢。
2.另外一种方法是,您可以从Christoph Gohlke的网站提前下载所需的Python扩展包。在下载时,请选择以下文件:
Archived: Python Extension Packages for Windows - Christoph Gohlke (uci.edu)
traits-6.3.2-cp37-cp37m-win_amd64.whl
VTK-9.1.0-cp37-cp37m-win_amd64.whl
PyQt4-4.11.4-cp37-cp37m-win_amd64.whl(不推荐,推荐下面安装pyqt5)
mayavi-4.7.4-cp37-cp37m-win_amd64.whl
以上文件下载较慢已放百度云.
正式安装
1.离线安装
traits-6.3.2-cp37-cp37m-win_amd64.whl
VTK-9.1.0-cp37-cp37m-win_amd64.whl
2.在线安装,如果上面网站有,也可以先下载下来
pip install PyQt5==5.15.2
pip install traitsui==7.2.1 pyface==7.3.0 numpy
3.离线安装
mayavi-4.7.4-cp37-cp37m-win_amd64.whl
注:
在离线安装模式下,您可以使用以下命令来安装matplotlib:
bash(.venv) PS D:\PycharmProjects\pythonProject12> pip install --no-index --find-links=d:\matplotlib-3.5.1-cp37-cp37m-win_amd64.whl matplotlib==3.5.1
请确保将路径d:\matplotlib-3.5.1-cp37-cp37m-win_amd64.whl替换为您实际的文件路径。这条命令将使用指定的wheel文件来安装matplotlib的3.5.1版本。
2024-5-31(更新)
要使用 conda 安装 Mayavi,请尝试以下操作:
$ conda create -n mayavi
$ conda activate mayavi # or source activate mayavi
$ conda install -c conda-forge numpy scipy traits jupyter ipywidgets ipyevents
$ conda remove pyqt qt
$ pip install mayavi pyqt5 jupyter
参考地址:
上面详细说明地址
mayavi-tutorial/installation.md at master · prabhuramachandran/mayavi-tutorial · GitHub
Anaconda(conda)-->Anaconda Prompt (安装指令)
Anaconda -> Anaconda Prompt 指令_anoconda promort 指令-CSDN博客
相关文章:
mayavi -> python 3D可视化工具Mayavi的安装
前言 Mayavi是一个基于VTK(Visualization Toolkit)的科学计算和可视化工具,主要用于数据可视化和科学计算领域。 它提供了一系列的高级可视化工具,包括2D和3D图形、表面和体积渲染、流场可视化等。Mayavi可以通过Python脚本进行调…...
【C++】B2112 石头剪子布
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述游戏规则:输入格式:输出格式:输入输出样例:解题分析与实现 💯我的做法实现逻辑优点与不足 💯…...
【Vue】vue3 video 保存视频进度,每次进入加载上次的视频进度
使用 localStorage 存储每个视频的播放进度在组件加载时恢复上次的播放进度在视频播放过程中实时保存进度在组件卸载前保存最终进度使用 timeupdate 事件来监听视频播放进度的变化 在模板中为视频元素添加事件监听: <videoloopautoplaycontrols:id"video_…...
C# 25Dpoint
C# 25Dpoint ,做一个备份 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace _25Dpoint {public partial cl…...
如何制作一个高质量的 Dockerfile 镜像:从入门到实践
Docker 是一种轻量级的容器化技术,能够将应用程序及其依赖打包到一个可移植的容器中。Dockerfile 是构建 Docker 镜像的核心文件,它定义了镜像的构建步骤和配置。通过编写 Dockerfile,我们可以自动化地构建镜像,确保应用程序在不同…...
Linux 机器学习
Linux 机器学习是指在 Linux 操作系统环境下进行机器学习相关的开发、训练和应用。 具体步骤 环境搭建: 选择合适的 Linux 发行版:如 Ubuntu、Fedora、Arch Linux 等。Ubuntu 因其易用性和丰富的软件包管理系统,适合初学者;Fed…...
青少年编程与数学 02-006 前端开发框架VUE 25课题、UI数据
青少年编程与数学 02-006 前端开发框架VUE 25课题、UI数据 一、UI数据二、Element Plus处理响应式数据三、Vuetify处理响应式数据 课题摘要:本文探讨了UI数据在用户界面中的重要性和处理方法。UI数据包括展示数据、用户输入、状态数据等,对用户体验和应用交互性有直…...
css实现响应式详解
一、媒体查询(Media Queries) 基本概念 媒体查询是 CSS3 中用于根据不同的设备特性(如屏幕宽度、高度、设备类型等)应用不同样式规则的技术。它允许你为特定的媒体类型(如屏幕、打印、手持设备等)和条件&a…...
python-应用自动化操作方法集合
python-PC应用自动化操作 pywinauto:适合Windows系统的软件(GUI),通过遍历窗口(对话框)和窗口里的UI控件进行定位操作,也可以控制鼠标和键盘输入等 https://geekdaxue.co/read/pywinauto-doc-zh…...
mac地址是用来做什么的
MAC 地址(Media Access Control Address)是一个唯一的硬件地址,用于在网络中标识设备。每个网络接口卡(NIC)都有一个唯一的 MAC 地址。MAC 地址是数据链路层(OSI模型的第二层)使用的地址&#x…...
【Compose multiplatform教程】05 IOS环境编译
了解如何使现有的 Android 应用程序跨平台,以便它在 Android 和 iOS 上都能运行。您将能够在一个位置编写代码并针对 Android 和 iOS 进行测试一次。 本教程使用一个示例 Android 应用程序,其中包含用于输入用户名和密码的单个屏幕。凭证经过验证并保存…...
3D滤波器处理遥感tif图像
import cv2 import numpy as np from osgeo import gdal# 定义 Gabor 滤波器的参数 kSize 31 # 滤波器核的大小 g_sigma 3.0 # 高斯包络的标准差 g_theta np.pi / 4 # Gabor 函数的方向 g_lambda 10.0 # 正弦波的波长 g_gamma 0.5 # 空间纵横比 g_psi np.pi / 2 # …...
fisco bcosV3 Table智能合约开发
环境 : fisco bcos 3.11.0 webase-front : 3.1.1 console 3.8.0 table合约【3.2.0版本后的】 前言 最近在做毕设,数据的存储方式考虑使用fisco-bcos的table表存储,经过这几天的研究,发现对于fisco2和 fisco3版本的table表合约功能…...
leetcode刷题记录(四十八)——128. 最长连续序列
(一)问题描述 128. 最长连续序列 - 力扣(LeetCode)128. 最长连续序列 - 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复…...
HTML中如何保留字符串的空白符和换行符号的效果
有个字符串 储值门店{{thing3.DATA}}\n储值卡号{{character_string1.DATA}}\n储值金额{{amount4.DATA}}\n当前余额{{amount5.DATA}}\n储值时间{{time2.DATA}} , HTML中想要保留 \n的换行效果的有下面3种方法: 1、style 中 设置 white-space: pre-lin…...
Linux入门——环境基础开发(上)
Linux 软件包管理器 yum 什么是软件包 在Linux操作系统中,安装软件的方式通常较为复杂,其基本流程涉及下载程序源代码并通过编译得到可执行程序。然而,这种方法需要开发者具备一定的编程知识和环境配置能力,对于许多用户而言&am…...
c++类和对象---下
文章目录 一、类的静态成员 1.1.静态成员变量:所有对象共享的成员变量。 1.2.静态成员函数:可以访问静态成员变量,但不能访问非静态成员变量。 二、类的继承 2.1.继承:子类继承父类的成员变量和成员函数。 2.2.多态:基…...
组件中的Props
在项目开发中,在开发某些界面时,我们可以将一些代码封装成组件来简化代码。但是,如果某些情况下组件中的某些属性不是一成不变的(比如一个头像+姓名的组件,每次使用时都需要改变其图像src和姓名字符串),我们就可以使用Props。 我们要使用Props,我们需要先在组件中声明…...
并行服务、远程SSH无法下载conda,报错404
原下载代码无效,报错404 wget -c https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh 使用下面代码下载 wget --user-agent"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12…...
迅为RK3568开发板篇OpenHarmony配置HDF驱动控制LED-新增 topeet子系统-编写 bundle.json文件
bundle.json 文件内容如下所示: 下面是对各个字段的解释: 1. name: "ohos/demos" - 这是组件或项目的名称,这里表示它属于 OHOS(OpenHarmony OS)生态系统下的一个名为"demos"的组件。 2. descri…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
