1

我正在导入maya.standalone、初始化它,然后导入pymel.core as pmc到我的 Maya Python 解释器中,该解释器在 powershell 中运行。在这一点上,我收到了很多警告。在我打电话后:xform, shape = pmc.polysphere(),我收到警告:name 'xform' is not defined

这是 pymel 导入的输出

> Warning: file: C:/Program
> Files/Autodesk/Maya2016/scripts/startup/initialStartup.mel line 195:
> Y-axis is already the Up-axis Initialized VP2.0 renderer {   Version :
> 6.3.16.0. Feature Level 5.   Adapter : Intel(R) HD Graphics 4600   Vendor ID: 32902. Device ID : 1046   Driver :
> nvwgf2umx.dll:9.18.13.5306.   API : DirectX V.11.   Max texture size :
> 16384 * 16384.   Max tex coords : 32   Shader versions supported
> (Vertex: 5, Geometry: 5, Pixel 5).   Active stereo support available :
> 0   GPU Memory Limit : 2080 MB.   CPU Memory Limit: 15472.7 MB. }
> OpenCL evaluator is attempting to initialize OpenCL. Detected 2 OpenCL
> Platforms:  0: Intel(R) Corporation. Intel(R) OpenCL. OpenCL 1.2 . 
> Supported extensions: cl_intel_dx9_media_sharing
> cl_khr_byte_addressable_store cl_khr_d3d11_sharing
> cl_khr_dx9_media_sharing cl_khr_gl_sharing
> cl_khr_global_int32_base_atomics cl_khr_global
> _int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics  1: NVIDIA Corporation. NVIDIA
> CUDA. OpenCL 1.2 CUDA 7.5.8.  Supported extensions:
> cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing
> cl_nv_compiler_options cl_nv_device_attribute_query
> cl_nv_pragma_unroll cl_nv_d3d9_sharing cl_nv_d3d10_shari ng
> cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts OpenCL
> evaluator choosing OpenCL platform Intel(R) Corporation. Choosing
> OpenCL Device Intel(R) HD Graphics 4600.  Device Type: GPU  Device is
> available. OpenCL device does not support out of order execution
> 
> Error: file: C:/Program
> Files/Autodesk/Maya2016/plug-ins/xgen/scripts/igInitialize.mel line
> 63: ImportError: file <maya console> line 1: No module named xgenm
> Error: Unable to execute igInitialize.mel. Unable to execute
> igInitialize.mel.Error: line 0: ImportError: file <maya console> line
> 1: No module named xgenm Error: Unable to execute xgen.mel. Unable to
> execute xgen.mel.xgmNurbsPatch [u'containerBase', u'entity',
> u'dagNode', u'shape', u'geometryShape', u'deformableShape',
> u'controlPoint', u'surfaceShape', u'THsurfaceShape', u'xgmP atch',
> u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape',
> u'deformableShape', u'controlPoint', u'surfaceShape',
> u'THsurfaceShape', u'xgmNurbsPatch'] pymel.internal.apicache : WARNING
> : lineage for node xgmNurbsPatch is cyclical: [u'containerBase',
> u'entity', u'dagNode', u'shape', u'geometryShape', u'deformableShape',
> u'controlPoint', u's urfaceShape', u'THsurfaceShape', u'xgmPatch',
> u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape',
> u'deformableShape', u'controlPoint', u'surfaceShape',
> u'THsurfaceShape', u' xgmNurbsPatch'] xgmSubdPatch [u'containerBase',
> u'entity', u'dagNode', u'shape', u'geometryShape', u'deformableShape',
> u'controlPoint', u'surfaceShape', u'THsurfaceShape', u'xgmPatch',
> u'containerBase', u'e ntity', u'dagNode', u'shape', u'geometryShape',
> u'deformableShape', u'controlPoint', u'surfaceShape',
> u'THsurfaceShape', u'xgmSubdPatch'] pymel.internal.apicache : WARNING
> : lineage for node xgmSubdPatch is cyclical: [u'containerBase',
> u'entity', u'dagNode', u'shape', u'geometryShape', u'deformableShape',
> u'controlPoint', u'su rfaceShape', u'THsurfaceShape', u'xgmPatch',
> u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape',
> u'deformableShape', u'controlPoint', u'surfaceShape',
> u'THsurfaceShape', u'x gmSubdPatch'] xgmArchiveGuide
> [u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape',
> u'deformableShape', u'controlPoint', u'surfaceShape',
> u'THsurfaceShape', u'xgmGuide', u'containerBase', u'entity',
> u'dagNode', u'shape', u'geometryShape', u'deformableShape',
> u'controlPoint', u'surfaceShape', u'THsurfaceShape',
> u'xgmArchiveGuide'] pymel.internal.apicache : WARNING : lineage for
> node xgmArchiveGuide is cyclical: [u'containerBase', u'entity',
> u'dagNode', u'shape', u'geometryShape', u'deformableShape',
> u'controlPoint', u 'surfaceShape', u'THsurfaceShape', u'xgmGuide',
> u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape',
> u'deformableShape', u'controlPoint', u'surfaceShape',
> u'THsurfaceShape', u'xgmArchiveGuide'] xgmCardGuide [u'containerBase',
> u'entity', u'dagNode', u'shape', u'geometryShape', u'deformableShape',
> u'controlPoint', u'surfaceShape', u'THsurfaceShape', u'xgmGuide',
> u'containerBase', u'e ntity', u'dagNode', u'shape', u'geometryShape',
> u'deformableShape', u'controlPoint', u'surfaceShape',
> u'THsurfaceShape', u'xgmCardGuide'] pymel.internal.apicache : WARNING
> : lineage for node xgmCardGuide is cyclical: [u'containerBase',
> u'entity', u'dagNode', u'shape', u'geometryShape', u'deformableShape',
> u'controlPoint', u'su rfaceShape', u'THsurfaceShape', u'xgmGuide',
> u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape',
> u'deformableShape', u'controlPoint', u'surfaceShape',
> u'THsurfaceShape', u'x gmCardGuide'] xgmSphereGuide [u'containerBase',
> u'entity', u'dagNode', u'shape', u'geometryShape', u'deformableShape',
> u'controlPoint', u'surfaceShape', u'THsurfaceShape', u'xgmGuide',
> u'containerBase', u 'entity', u'dagNode', u'shape', u'geometryShape',
> u'deformableShape', u'controlPoint', u'surfaceShape',
> u'THsurfaceShape', u'xgmSphereGuide'] pymel.internal.apicache :
> WARNING : lineage for node xgmSphereGuide is cyclical:
> [u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape',
> u'deformableShape', u'controlPoint', u' surfaceShape',
> u'THsurfaceShape', u'xgmGuide', u'containerBase', u'entity',
> u'dagNode', u'shape', u'geometryShape', u'deformableShape',
> u'controlPoint', u'surfaceShape', u'THsurfaceShape', u
> 'xgmSphereGuide'] xgmSplineGuide [u'containerBase', u'entity',
> u'dagNode', u'shape', u'geometryShape', u'deformableShape',
> u'controlPoint', u'surfaceShape', u'THsurfaceShape', u'xgmGuide',
> u'containerBase', u 'entity', u'dagNode', u'shape', u'geometryShape',
> u'deformableShape', u'controlPoint', u'surfaceShape',
> u'THsurfaceShape', u'xgmSplineGuide'] pymel.internal.apicache :
> WARNING : lineage for node xgmSplineGuide is cyclical:
> [u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape',
> u'deformableShape', u'controlPoint', u' surfaceShape',
> u'THsurfaceShape', u'xgmGuide', u'containerBase', u'entity',
> u'dagNode', u'shape', u'geometryShape', u'deformableShape',
> u'controlPoint', u'surfaceShape', u'THsurfaceShape', u
> 'xgmSplineGuide'] AbcExport v1.0 using Alembic 1.5.4 (built May  8
> 2014 13:47:10) Error: file: C:/Program
> Files/Autodesk/Maya2016/scripts/startup/autoLoadPlugin.mel line 46:
> ImportError: file <maya console> line 1: No module named
> mtoa.lightFilters
> 
> API error detected in plugins\mtoa\extension\PxMayaNode.cpp at line
> 222 : (kFailure): Unexpected Internal Failure Error: file: C:/Program
> Files/Autodesk/Maya2016/scripts/startup/autoLoadPlugin.mel line 46:
> ImportError: file <maya console> line 1: No module named
> mtoa.lightFilters
> 
> API error detected in plugins\mtoa\extension\PxMayaNode.cpp at line
> 222 : (kFailure): Unexpected Internal Failure Error: file: C:/Program
> Files/Autodesk/Maya2016/scripts/startup/autoLoadPlugin.mel line 46:
> ImportError: file <maya console> line 1: No module named
> mtoa.lightFilters
> 
> API error detected in plugins\mtoa\extension\PxMayaNode.cpp at line
> 222 : (kFailure): Unexpected Internal Failure Error: file: C:/Program
> Files/Autodesk/Maya2016/scripts/startup/autoLoadPlugin.mel line 46:
> ImportError: file <maya console> line 1: No module named
> mtoa.lightFilters
> 
> API error detected in plugins\mtoa\extension\PxMayaNode.cpp at line
> 222 : (kFailure): Unexpected Internal Failure 00:00:00   359MB ERROR  
> | [mtoa] [xgenTranslator] Could not find xgen_procedural in search
> path $ARNOLD_PLUGIN_PATH Error: file: C:/Program
> Files/Autodesk/Maya2016/scripts/startup/autoLoadPlugin.mel line 46:
> ImportError: file <maya console> line 1: No module named
> mtoa.api.extensions
> 
> API error detected in plugins\mtoa\extension\ExtensionsManager.cpp at
> line 571 : (kFailure): Unexpected Internal Failure Error: file:
> C:/Program Files/Autodesk/Maya2016/scripts/startup/autoLoadPlugin.mel
> line 46: ImportError: file <maya console> line 1: No module named
> mtoa.api.extensions
> 
> API error detected in plugins\mtoa\extension\ExtensionsManager.cpp at
> line 571 : (kFailure): Unexpected Internal Failure Error: file:
> C:/Program Files/Autodesk/Maya2016/scripts/startup/autoLoadPlugin.mel
> line 46: ImportError: file <maya console> line 1: No module named
> mtoa.api.extensions
> 
> API error detected in plugins\mtoa\extension\ExtensionsManager.cpp at
> line 571 : (kFailure): Unexpected Internal Failure Error: file:
> C:/Program Files/Autodesk/Maya2016/scripts/startup/autoLoadPlugin.mel
> line 46: ImportError: file <maya console> line 1: No module named
> arnold
> 
> API error detected in plugins\mtoa\Main.cpp at line 770 : (kFailure):
> Unexpected Internal Failure 00:00:00   362MB ERROR   | Failed to
> import python module 'arnold' Error: Failed to import python module
> 'arnold' aiSkyDomeLight [u'containerBase', u'entity', u'dagNode',
> u'shape', u'geometryShape', u'locator', u'THlocatorShape',
> u'SphereLocator', u'containerBase', u'entity', u'dagNode', u'shape',
> u'geo metryShape', u'locator', u'THlocatorShape', u'aiSkyDomeLight']
> pymel.internal.apicache : WARNING : lineage for node aiSkyDomeLight is
> cyclical: [u'containerBase', u'entity', u'dagNode', u'shape',
> u'geometryShape', u'locator', u'THlocatorShape', u'Sphere Locator',
> u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape',
> u'locator', u'THlocatorShape', u'aiSkyDomeLight'] aiSky
> [u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape',
> u'locator', u'THlocatorShape', u'SphereLocator', u'containerBase',
> u'entity', u'dagNode', u'shape', u'geometryShap e', u'locator',
> u'THlocatorShape', u'aiSky'] pymel.internal.apicache : WARNING :
> lineage for node aiSky is cyclical: [u'containerBase', u'entity',
> u'dagNode', u'shape', u'geometryShape', u'locator', u'THlocatorShape',
> u'SphereLocator',  u'containerBase', u'entity', u'dagNode', u'shape',
> u'geometryShape', u'locator', u'THlocatorShape', u'aiSky'] Error:
> file: C:/Program
> Files/Autodesk/Maya2016/scripts/startup/autoLoadPlugin.mel line 46:
> initializePlugin function failed (mtoa) AbcImport v1.0 using Alembic
> 1.5.4 (built May  8 2014 13:47:10) BifrostMain plug-in loaded (built Feb 26 2015 18:01:51) Error: file: C:/Program
> Files/Autodesk/Maya2016/scripts/startup/autoLoadPlugin.mel line 46:
> ImportError: file C:/Program
> Files/Autodesk/Maya2016/plug-ins/xgen/plug-ins/xgenMR.py line 9: No m
> odule named xgenm Warning: file: C:/Program
> Files/Autodesk/Maya2016/scripts/startup/autoLoadPlugin.mel line 46:
> Failed to run file: C:/Program
> Files/Autodesk/Maya2016/plug-ins/xgen/plug-ins/xgenMR.py pymel : ERROR
> : Failed to get controlCommand list from xgenMR pymel : ERROR : Failed
> to get modelEditorCommand list from xgenMR pymel : ERROR : Failed to
> get command list from xgenMR pymel : ERROR : Failed to get
> constraintCommand list from xgenMR pymel.core : ERROR : Failed to get
> depend nodes list from xgenMR Error: file: C:/Program
> Files/Autodesk/Maya2016/scripts/startup/autoLoadPlugin.mel line 46: 
> (xgenMR)
> >>>

我正在阅读《实用 Maya 编程》一书,这是书中的文字:

现在我们将开始深入研究 Maya 和 PyMEL。让我们从在 mayapy 解释器中初始化 Maya 开始,这样我们就可以使用更多的标准 Python 功能。我们通过调用 maya.standalone.initialize 来做到这一点,如以下代码所示:

>>> import maya.standalone
>>> maya.standalone.initialize()
>>> import pymel.core as pmc
>>> xform, shape = pmc.polySphere()

pymel.core 的导入将自动隐式调用 maya.standalone.initialize,但我在这里明确地执行此操作,因此很清楚发生了什么。以后,您通常可以跳过对 maya.standalone.initialize 的调用,直接导入 pymel.core。

我们可以使用基本的 Python 发现很多关于这些代表 Maya 节点的 PyMEL 对象。例如,要查看任何一个对象的类型,我们可以使用内置的类型函数(我们将在本章后面更深入地研究类型)。

谁能解释我在口译员中遇到的错误并提供解决方案?

4

2 回答 2

4

(这不是一个完整的答案,但我是菜鸟,所以我不允许发表评论。)

一堆警告,看起来像

xgmNurbsPatch [u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape', u'deformableShape', u'controlPoint', u'surfaceShape', u'THsurfaceShape', u'xgmPatch', u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape', u'deformableShape', u'controlPoint', u'surfaceShape', u'THsurfaceShape', u'xgmNurbsPatch']
# Warning: pymel.internal.apicache : lineage for node xgmNurbsPatch is cyclical: [u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape', u'deformableShape', u'controlPoint', u'surfaceShape', u'THsurfaceShape', u'xgmPatch', u'containerBase', u'entity', u'dagNode', u'shape', u'geometryShape', u'deformableShape', u'controlPoint', u'surfaceShape', u'THsurfaceShape', u'xgmNurbsPatch'] # 

(我认为)是 Maya 2016 的一个问题,您可能不需要担心什么。

我在脚本编辑器中工作,而不是使用 maya.standalone。当我将 Pymel 导入 Maya 2016 时,我收到了 6 个针对各种“xgm”类的警告,和你一样。在以前的 Maya 版本中,这并没有发生。

至于错误,mtoa/Arnold 和 xgen 都是插件(并且您的所有错误似乎都与插件加载有关)。也许你可以禁用它们?抱歉,我没有在 Maya 主应用程序之外使用过 Maya Python 解释器。

编辑:我看到其他人(或者你?)在 XGen、Arnold 和 Maya 2016 上遇到类似的错误:http://forums.cgsociety.org/archive/index.php?t- 1287693.html

于 2015-10-29T04:47:38.250 回答
2

当您在 Windows 上时,请确保您没有使用 Powershell ISE。只需使用标准的 Powershell。

正如@Boon 所说,这些错误中的大多数来自插件和 Maya 的一些本来可以写得更好的东西。

当您专注于学习编程时,您不需要这些插件。您可以从交互式 Maya 会话中禁用它们:

  1. 打开玛雅。
  2. 选择 Windows->设置/首选项->插件管理器
  3. 关闭所有不在顶部的插件的“加载”和“自动加载”:即 Xgen、Bifrost、Substance、mtoa 等。
  4. 关闭玛雅。

现在在你的 shell 中再试一次:

mayapy
import maya.standalone
maya.standalone.initialize()
import pymel.core as pm

此时,我看到一条关于 Y-Up 的警告,以及一些 Alembic 版本信息,除此之外别无其他。那里没什么好担心的。

提示是>>>一件好事。您现在应该可以输入 pymel 命令: 键入(一次一个以查看输出):

pm.about(version=True)
pm.polySphere() 
pm.ls(type="mesh")

编辑

如果您正在使用 powershell 并设置了配置文件,则可以通过将以下行添加到您的 profile.ps1 来节省一些时间:

function ms { mayapy -i  -c "import maya.standalone;maya.standalone.initialize();import pymel.core as pm;print('maya standalone initialized and pymel.core imported as pm')" }

Now you can open a powershell, type ms and start coding.

于 2015-10-30T18:44:10.167 回答