Ubuntu系统下Pixar USD库安装及pxr模块导入问题求助
Ubuntu下USD库Python模块无法导入的解决方法
问题背景
已完成以下操作:
- 克隆USD仓库代码
- 执行
build_usd.py编译安装 - 修改环境变量
运行测试代码时:
from pxr import Usd, UsdGeom stage = Usd.Stage.CreateNew('HelloWorld.usda') xformPrim = UsdGeom.Xform.Define(stage, '/hello') spherePrim = UsdGeom.Sphere.Define(stage, '/hello/world') stage.GetRootLayer().Save()
出现两种错误:要么提示找不到python命令,要么找不到pxr模块;手动将库文件、头文件移至/usr/lib、/usr/local/lib、/usr/local/include目录后问题仍未解决。
解决方案
1. 解决“找不到python命令”问题
Ubuntu默认仅提供python3命令,无python软链接,可通过以下方式处理:
- 创建全局软链接:
sudo ln -s /usr/bin/python3 /usr/bin/python - 或直接用
python3运行测试代码:python3 your_test_script.py
2. 核心解决“找不到pxr模块”问题
手动移动库文件会破坏USD的路径关联,正确方式是通过PYTHONPATH指定USD的Python模块路径:
- 先定位USD的安装目录(即
build_usd.py编译时指定的--install-dir,默认在编译目录下的install文件夹,比如~/USD/build/install) - 找到USD的Python模块路径,格式为:
[USD_INSTALL_DIR]/lib/python[你的Python版本]/site-packages,例如~/USD/build/install/lib/python3.10/site-packages - 临时生效(当前终端会话):
export PYTHONPATH=/path/to/USD/install/lib/python3.x/site-packages:$PYTHONPATH - 永久生效(所有终端会话):
编辑~/.bashrc或~/.profile文件,添加上述export命令,然后执行:source ~/.bashrc
3. 补充配置库文件路径
USD的C++库也需要被系统找到,需配置LD_LIBRARY_PATH:
- 临时生效:
export LD_LIBRARY_PATH=/path/to/USD/install/lib:$LD_LIBRARY_PATH - 永久生效:同样添加到
~/.bashrc并执行source ~/.bashrc
4. 验证配置正确性
- 检查PYTHONPATH是否包含USD模块路径:
echo $PYTHONPATH - 检查Python的sys.path是否包含目标路径:
python3 -c "import sys; print('\n'.join(sys.path))" - 确认
build_usd.py编译时指定了正确的Python版本,可重新编译时添加参数:python3 build_usd.py --python-version 3.10 /path/to/install/dir
测试验证
配置完成后,运行测试代码,若成功生成HelloWorld.usda文件则表示问题解决。
内容的提问来源于stack exchange,提问作者huangkaiyi
相关产品推荐
相关产品推荐

