mayavi -> python 3D可视化工具Mayavi的安装

news/2025/1/19 17:08:59/

前言

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(社区版和收费版都可以)项目中下载以下插件

python">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

测试是否安装成功:

python">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博客

 


http://www.ppmy.cn/news/1564464.html

相关文章

Avalonia系列文章之小试牛刀

最近有朋友反馈,能否分享一下Avalonia相关的文章,于是就抽空学习了一下,发现Avalonia真的是一款非常不错的UI框架,值得花时间认真学习一下,于是边学习边记录,整理成文,分享给大家,希…

RabbitMQ 客户端 连接、发送、接收处理消息

RabbitMQ 客户端 连接、发送、接收处理消息 一. RabbitMQ 的机制跟 Tcp、Udp、Http 这种还不太一样 RabbitMQ 服务,不是像其他服务器一样,负责逻辑处理,然后转发给客户端 而是所有客户端想要向 RabbitMQ服务发送消息, 第一步&a…

正则表达式 匹配特定字符后的所有字符

在处理文本数据时,正则表达式(RegularExpressions,简称Regex)是一种非常强大的工具,它可以用来搜索、匹配和替换文本中符合特定模式的字符串。 首先,明确我们的目标是匹配完整的URL,并获取它之…

[BrainShadow-V1] VR头戴设备统计报告

Brain-Shadow-V1 EventVR headsetsReported byXiao enDate2025/01/15Version1.0 HTC Vive Pro 2 Pro HTC Vive Pro 2 是一款高端虚拟现实头显,配备双 2.5K 显示屏,组合分辨率达到 48962448,提供 120 的视场角和 120Hz 的刷新率。该设备支持…

前端小知识 鼠标穿透 pointer-events: none;

为什么会说到这个呢?是我觉得没有识别出来,然后就导致了这样的问题,这种情况不应该发生。我写了如下这样一段代码,但是发现当自己选择时间的时候无法选择。然后就发现变成了光标在闪烁。这样其实就是因为我选择到了这个input框的鼠…

Spark Streaming的核心功能及其示例PySpark代码

Spark Streaming是Apache Spark中用于实时流数据处理的模块。以下是一些常见功能的实用PySpark代码示例: 基础流处理:从TCP套接字读取数据并统计单词数量 from pyspark import SparkContext from pyspark.streaming import StreamingContext# 创建Spar…

Docker 搭建mysql 连接超时问题,xxl-job启动mysql连接报错,禁用dns

1.本地连接Navicat报错信息,猜测是navicat默认连接超时导致的,后面换成idea一个插件虽然慢但连接上了 2013 - Lost connection to MySQL server at reading initial communication packet 2.启动xxl-job会报错,网上有人mysql驱动与数据库不匹…

PyTorch使用教程(6)一文讲清楚torch.nn和torch.nn.functional的区别

torch.nn 和 torch.nn.functional 在 PyTorch 中都是用于构建神经网络的重要组件,但它们在设计理念、使用方式和功能上存在一些显著的区别。以下是关于这两个模块的详细区别: 1. 继承方式与结构 torch.nn torch.nn 中的模块大多数是通过继承 torch.nn…