当我通过 pyRevit 运行命令时出现“无法导入”错误从命令提示符运行相同的命令我已将 pxr 和 usd 文件夹添加到 lib 文件夹
重现步骤
- 将https://drive.google.com/file/d/1_aHVvO5g2bBtpgVjS2X8QQGS1PJ9gM3X/view?usp=sharing中的文件解压缩到您的 pyRevit 文件夹(在我的情况下,C:\Users\harry\Documents\MyExtensions\MyFirstExtension.extension)
- 启动 Revit 并在 MyTest 选项卡中运行“USD 命令”
从命令提示符成功运行命令
C:\Users\harry\Documents\GitHub\USD\extras\usd\tutorials\helloWorld>cd C:\Users\harry\Documents\MyExtensions\MyFirstExtension.extension\MyTest.tab\Tools.panel\USD Command.pushbutton
C:\Users\harry\Documents\MyExtensions\MyFirstExtension.extension\MyTest.tab\Tools.panel\USD Command.pushbutton>python script.py
HelloWorld.usda created
在 Revit 中运行命令时出错
IronPython Traceback:
Traceback (most recent call last):
File "C:\Users\harry\Documents\MyExtensions\MyFirstExtension.extension\MyTest.tab\Tools.panel\USD Command.pushbutton\script.py", line 1, in <module>
File "C:\Users\harry\Documents\MyExtensions\MyFirstExtension.extension\MyTest.tab\Tools.panel\lib\pxr\Usd\__init__.py", line 24, in <module>
ImportError: cannot import _usd from pxr.Usd
Script Executor Traceback:
IronPython.Runtime.Exceptions.ImportException: cannot import _usd from pxr.Usd
at IronPython.Runtime.Importer.ImportNestedModule(CodeContext context, PythonModule module, String[] parts, Int32 current, List path)
at IronPython.Runtime.Importer.ImportFrom(CodeContext context, Object from, String name)
at Microsoft.Scripting.Interpreter.FuncCallInstruction`4.Run(InterpretedFrame frame)