vscode用python开发maya联动调试设置
如何在VScode里编写Maya Python脚本_哔哩哔哩_bilibili1
包括1,maya的python全面在vscode支持,2,通过mayacode发送到maya,3同步调试
import maya.cmds as cmds
1、让 maya.cmds编译通过
下载Autodesk_Maya_2018_6_Update_DEVKIT_Windows.zip,或者其他以上版本Maya API | Autodesk Platform Services (APS),将“devkit”、“mkspecs”两个文件夹,放在maya安装根目录;
vscode1.98.2 配置:
的首选项>设置>扩展>json>json.schemas 讲架构关联到当前项目中的json文件>在settings.json中编辑,合并代码
{"editor.gotoLocation.multipleTypeDefinitions": "goto","editor.gotoLocation.multipleDefinitions": "goto","editor.mouseWheelZoom": true,"files.associations": {"*.jsx": "javascriptreact"},"python.analysis.extraPaths": ["D:/Program Files/Autodesk/Maya2018/devkit/other/pymel/extras/completion/py"],"json.schemas": []
}
Pycharm2018配置:
project: mypycharm>project structure>
D:\Autodesk\maya2018\scripts
新建项目:命名为 xm;
----------创建解释器:
---------------File --Settings --Project :xm(项目名)--Project Interpreter --点击右侧“齿轮图标”-- 选择“Add”--“弹出新窗口” ;
---------------在“弹出的新窗口”选择“Existing environment”;在“Interpreter:”右侧,选择maya的Python解释器(D:\Autodesk\maya2018\bin\mayapy.exe);保存;
在 MAYA_APP_DIR 下的文件夹 scripts 或者 (maya版本)\scripts 下的 userSetup.py 和 userSetup.mel 都会在 Maya 的启动过程(startup)中被自动执行
设置maya的端口重复启覆盖设置模式。
Users\xxx\Documents\maya\2018\zh_CN\scripts\userSetup.mel 没有就创建它
commandPort -eao -n "localhost:7001" -stp "mel";
启动maya
1、MAYA2018中运行mel命令行
启动监听端口
commandPort -name "localhost:7001" -sourceType "mel" -echoOutput;
(如果要取消监听端口),
commandPort -cl -name "localhost:7001";
用vscode新建一个py文件,内容为
import maya.cmds as cmds
cmds.polySphere(name="sphere1", radius=5)
2、安装Mayacode插件 for vscode:
安装完点右键:send python code to maya shift +alt+M
一般到这里,就可以了!可以直接vscode发送程序到maya执行!
但是为了更爽的功能! Maya 2018 安装单步调试工具!继续看!>>
指定目录,创建工作区
代码的工作区目录创建.vscode目录,里面创建一个launch.json文件,填入代码
{"version": "0.2.0","configurations": [{"type": "python","request": "attach","name": "Maya Python Debugger : Remote Attach","port": 5678,"host": "localhost","pathMappings": [{"localRoot": "${fileDirname}","remoteRoot": "${fileDirname}"}],"MayaDebugFile": "${file}"}]
}
出现如下问题,请安装 ptvsd
调试库
connect Econnerfused 127.0.0.1:5678
1.在 Maya 的 Script Editor 中执行以下 Python 代码(需先安装 ptvsd
调试库):
(在dos命令下通过maya的 bin目录的mayapy.exe 来安装 pip ,再通过pip安装调试程序ptvsd,或者代替方案 debugpy)
1、进入maya的bin目录,地址栏敲入cmd,进入dos命令
x:\Program Files\Autodesk\Maya2018\bin>
2、运行mayapy安装pip
x:\Program Files\Autodesk\Maya2018\bin> mayapy.exe -m ensurepip --user
提示成功安装pip,
Ignoring indexes: https://pypi.python.org/simple
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip setuptools
再通过pip安装ptvsd,
x:\Program Files\Autodesk\Maya2018\bin>mayapy.exe -m pip install --user ptvsd==4.3.2 Collecting ptvsd==4.3.2
Could not find a version that satisfies the requirement ptvsd==4.3.2 (from versions: ) No matching distribution found for ptvsd==4.3.2
#使用Python Package Index (PyPI) 的历史版本索引来安装 ptvsd 4.3.2:
"D:\Program Files\Autodesk\Maya2018\bin\mayapy.exe" -m pip install --user -i https://pypi.python.org/simple/ ptvsd==4.3.2
#如果仍然失败,可以尝试清华大学镜像源
"D:\Program Files\Autodesk\Maya2018\bin\mayapy.exe" -m pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple/ ptvsd==4.3.2
如果还是不行,则手动下载并安装 whl 包
在支持 Python 2.7 的环境中,使用以下命令下载 ptvsd 4.3.2 的 whl 包:
pip download ptvsd==4.3.2 -d "D:\temp" --python-version 27 --only-binary=:all:
x:\Program Files\Autodesk\Maya2018\bin> mayapy.exe -m pip install --user "D:\temp\ptvsd-4.3.2-cp27-none-any.whl"
实在不行就用替代方案 :使用 debugpy
(如果 ptvsd 安装始终失败,可以尝试使用 Python 2.7 兼容的 debugpy)
"D:\Program Files\Autodesk\Maya2018\bin\mayapy.exe" -m pip install --user debugpy==1.0.0b1
import debugpy
debugpy.listen(('localhost', 5678))
debugpy.wait_for_client()
# 启动调试服务器
ok后,在 Maya 的 Script Editor 中执行测试!:
import ptvsd
print(ptvsd.__version__) # 应输出 4.3.2
maya中mel运行 :导入ptvsd 设置端口5678
import ptvsd
ptvsd.enable_attach(address=('localhost', 5678))
ptvsd.wait_for_attach() # 可选:等待VSCode连接后再继续执行
看!有等待ptvsd.wait_for_attach()了!
最后运行单步调试的debug ,看右上角,有工具条了!
再提下搜索区的右边,一个猴头,是ai编程。但是速度慢的可以!
另外附带一套,端口占用查看方法:
2. 验证端口是否开放
在 Maya 中检查:
# 检查端口是否已绑定
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.bind(('localhost', 5678))
print ("端口 5678 未被占用,可以使用")
except socket.error as e:
print (f"端口 5678 已被占用: {e}")
finally:
s.close ()
作用:查找占用特定端口(如 5678)的进程
netstat -ano | findstr 5678
反馈展示 ,带listening的表示有独占的,后面12345是pid码,
TCP 0.0.0.0:5678 0.0.0.0:0 LISTENING 12345
再根据pid查进程名称
tasklist | findstr 12345
输出 反馈展示,表示maya启动了5678端口
maya.exe 12345 Console 1 1,234,568 K
相关文章:

vscode用python开发maya联动调试设置
如何在VScode里编写Maya Python脚本_哔哩哔哩_bilibili1 包括1,maya的python全面在vscode支持,2,通过mayacode发送到maya,3同步调试 import maya.cmds as cmds 1、让 maya.cmds编译通过 下载Autodesk_Maya_2018_6_Update_DEVK…...

SLAM定位常用地图对比示例
序号 地图类型 概述 1 格栅地图 将现实环境栅格化,每一个栅格用 0 和 1 分别表示空闲和占据状态,初始化为未知状态 0.5 2 特征地图 以点、线、面等几何特征来描绘周围环境,将采集的信息进行筛选和提取得到关键几何特征 3 拓扑地图 将重要部分抽象为地图,使用简单的图形表示…...
Ubnutu ADB 无法识别设备的解决方法
1. 正确安装adb 下载地址 2. 检查 Linux 是否识别设备 lsusb通过上述指令,分别查询插入、断开设备的usb设备表,如下所示: # 插入设备 adbc:~$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 011:…...
前端-HTML元素
目录 HTML标签是什么? 什么是HTML元素? HTML元素有哪些分类方法? 什么是HTML头部元素 更换路径 注:本文以leetbook为基础 HTML标签是什么? HTML标签是HTML语言中最基本单位和重要组成部分 虽然它不区分大小写&a…...
dagster的etl实现
本文展示了如何使用Dagster框架实现一个动态ETL(Extract, Transform, Load)流程。通过定义多个操作(op),包括生成动态任务、处理单个任务、收集结果和汇总结果,构建了一个动态任务处理流程。generate_tasks…...

python的漫画网站管理系统
目录 技术栈介绍具体实现截图系统设计研究方法:设计步骤设计流程核…...

源码安装gperftools工具
源码安装gperftools工具 下载gperftools源码 https://github.com/gperftools/gperftools/releases/download/gperftools-2.16/gperftools-2.16.tar.gz 注:需要下载github上release版本,如果直接下载master分支上源码,将可能出现各种编译报错…...
QMK 宏(Macros)功能详解(实战部分)
QMK 宏(Macros)功能详解(实战部分) 一、宏的基本概念与作用 宏(Macros)是 QMK 固件中一项强大的功能,它允许您在按下单个按键时执行多个按键操作。通过宏,您可以: 输入常用短语或文本执行复杂的按键组合自动化重复性操作触发系统功能或快捷键🔔 安全提示:虽然可以…...

前端脚手架开发指南:提高开发效率的核心操作
前端脚手架通过自动化的方式可以提高开发效率并减少重复工作,而最强大的脚手架并不是现成的那些工具而是属于你自己团队量身定制的脚手架!本篇文章将带你了解脚手架开发的基本技巧,帮助你掌握如何构建适合自己需求的工具,并带着你…...

搜索引擎工作原理|倒排索引|query改写|CTR点击率预估|爬虫
写在前面 使用搜索引擎是我们经常做的事情,搜索引擎的实现原理。 什么是搜索引擎 搜索引擎是一种在线搜索工具,当用户在搜索框输入关键词时,搜索引擎就会将与该关键词相关的内容展示给用户。比较大型的搜索引擎有谷歌,百度&…...

Python实例题:Python自动工资条
目录 Python实例题 题目 python-automatic-payroll-slipPython 自动生成工资条脚本 代码解释 加载文件: 获取表头: 写入表头: 生成工资条: 保存文件: 运行思路 注意事项 Python实例题 题目 Python自动工资…...

Function Calling万字实战指南:打造高智能数据分析Agent平台
个人主页:Guiat 归属专栏:科学技术变革创新 文章目录 1. Function Calling:智能交互的新范式1.1 Function Calling 技术概述1.2 核心优势分析 2. 数据分析Agent平台架构设计2.1 系统架构概览2.2 核心组件解析2.2.1 函数注册中心2.2.2 Agent控…...
spark MySQL数据库配置
Spark 连接 MySQL 数据库的配置 要让 Spark 与 MySQL 数据库实现连接,需要进行以下配置步骤。下面为你提供详细的操作指南和示例代码: 1. 添加 MySQL JDBC 驱动依赖 你得把 MySQL 的 JDBC 驱动添加到 Spark 的类路径中。可以通过以下两种方式来完成&a…...
python四则运算计算器
python四则运算计算器 是谁说,python不好写计算器的,我亲自写个无ui的计算器功能,证明这是谣言 step1:C:\Users\wangrusheng\Downloads\num.txt 15 - 4 * 3 10 / 2(5 3) * 2 6 / 31/2 * 8 3/4 * 4 - 0.52.5 * (4 1.6) - 9 / 3-6 12 * (…...

线对板连接器的兼容性问题:为何老旧设计难以满足现代需求?
线对板连接器作为电子设备的核心纽带,正面临前所未有的兼容性挑战。某智能工厂升级生产线时发现,沿用十年的2.54毫米间距连接器,在接入新型工业相机时出现30%的信号丢包率,而切换至0.4毫米超密间距连接器后,数据传输速…...

AI517 AI本地部署 docker微调(失败)
本地部署AI 计划使用OLLAMA进行本地部署 修改DNS 访问github 刷新缓存 配置环境变量 OLLAMA安装成功 部署成功 计划使用docker进行微调 下载安装docker 虚拟化已开启 开启上面这些 准备下载ubuntu docker ragflow dify 用git去泡...

VR和眼动控制集群机器人的方法
西安建筑科技大学信息与控制工程学院雷小康老师团队联合西北工业大学航海学院彭星光老师团队,基于虚拟现实(VR)和眼动追踪技术实现了人-集群机器人高效、灵活的交互控制。相关研究论文“基于虚拟现实和眼动的人-集群机器人交互方法” 发表于信…...
python训练营打卡第26天
函数专题1:函数定义与参数 知识点回顾: 函数的定义变量作用域:局部变量和全局变量函数的参数类型:位置参数、默认参数、不定参数传递参数的手段:关键词参数传递参数的顺序:同时出现三种参数类型时 作业&…...

TiDB 中新 Hash Join 的设计与性能优化
原文来源: https://tidb.net/blog/11667c37 本文作者:徐飞 导读 在数据库管理系统(DBMS)中,连接操作(Join)是查询处理的核心环节之一,其性能直接影响到整个系统的响应速度和效率…...

1.共享内存(python共享内存实际案例,传输opencv frame)
主进程程序 send.py import cv2 import numpy as np from multiprocessing import shared_memory, resource_trackercap cv2.VideoCapture(0) if not cap.isOpened():print("无法打开 RTSP 流,请检查地址、网络连接或 GStreamer 配置。") else:# 创建共…...

网页常见水印实现方式
文章目录 1 明水印技术实现1.1 DOM覆盖方案1.2 Canvas动态渲染1.3 CSS伪元素方案2 暗水印技术解析2.1 空域LSB算法2.2 频域傅里叶变换3 防篡改机制设计3.1 MutationObserver防护3.2 Canvas指纹追踪4 前后端实现对比5 攻防博弈深度分析5.1 常见破解手段5.2 进阶防御策略6 选型近…...
oracle主备切换参考
主备正常切换操作参考:RAC两节点->单机 (rac和单机的操作区别:就是关闭其它节点,剩一个节点操作即可) 1.主库准备 检查状态 SQL> select inst_id,database_role,OPEN_MODE from gv$database; INST_ID DATA…...
Java大师成长计划之第25天:Spring生态与微服务架构之容错与断路器模式
📢 友情提示: 本文由银河易创AI(https://ai.eaigx.com)平台gpt-4-turbo模型辅助创作完成,旨在提供灵感参考与技术分享,文中关键数据、代码与结论建议通过官方渠道验证。 在微服务架构中,系统通常…...

【ARM】MDK如何将变量存储到指定内存地址
1、 文档目标 在嵌入式系统开发中,通过MDK(Microcontroller Development Kit)进行工程配置,将指定的变量存储到指定的内存地址上是一项非常重要的技术。这项操作不仅能够满足特定硬件架构的需求,还能优化系统的性能和…...

Unity3D仿星露谷物语开发44之收集农作物
1、目标 在土地中挖掘后,洒下种子后逐渐成长,然后使用篮子收集成熟后的农作物,工具栏中也会相应地增加该农作物。 2、修改CropStandard的参数 Assets -> Prefabs -> Crop下的CropStandard,修改其Box Collider 2D的Size(Y…...

langchain—chatchat
署部 下载项目 git clone --recursive https://github.com/chatchat-space/Langchain-Chatchat.git 进入目录 cd Langchain-Chatchat anaconda环境准备 创建python环境 conda create -n langchain_env python3.10 -y 激活环境 conda activate langchain_env 验证pyhton环境…...
经典算法 求C(N, K) % mod,保证mod是质数
求C(N, K) % mod,保证mod是质数 问题描述 给你三个整数N,K,mod保证mod是一个质数,求组合数C(N, K) % mod。 输入描述 输入有多组,输入第一行为两个整数T,mod。接下来2 - T 1行,每行输入N, K。 输出描…...

【LeetCode 热题 100】二叉树的最大深度 / 翻转二叉树 / 二叉树的直径 / 验证二叉搜索树
⭐️个人主页:小羊 ⭐️所属专栏:LeetCode 热题 100 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 二叉树的中序遍历二叉树的最大深度翻转二叉树对称二叉树二叉树的直径二叉树的层序遍历将有序数组转换为二叉搜索树验…...

关于软件测试开发的一些有趣的知识
文章目录 一、什么是测试?二、为什么要软件测试软件测试三、测试的岗位有哪些四 、软件测试和开发的区别五、走测试岗位为什么还要学开发。4、优秀的测试人员具备的素质我为什么走测试岗位 一、什么是测试? 其实这个问题说简单也不简单,说难…...

uni-app 开发HarmonyOS的鸿蒙影视项目分享:从实战案例到开源后台
最近,HBuilderX 新版本发布,带来了令人兴奋的消息——uni-app 现在支持 Harmony Next 平台的 App 开发。这对于开发者来说无疑是一个巨大的福音,意味着使用熟悉的 Vue 3 语法和开发框架,就可以为鸿蒙生态贡献自己的力量。 前言 作…...