# Changing default install location for Python modules

**URL:** <https://forum.aousd.org/t/changing-default-install-location-for-python-modules/2948>\
**Category:** Announcements\
**Created:** [June 16, 2026, 11:58pm UTC](https://forum.aousd.org/t/changing-default-install-location-for-python-modules/2948 "2026-06-16T23:58:57Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![sunya](https://avatars.discourse-cdn.com/v4/letter/s/9de053/32.png) [@sunya](https://forum.aousd.org/u/sunya)\
**Post date:** [June 16, 2026, 11:58pm UTC](https://forum.aousd.org/t/changing-default-install-location-for-python-modules/2948/1 "2026-06-16T23:58:57Z")

</div>

The default install location for Python modules will be changing in the next OpenUSD release to the standard site-packages directory instead of the hard-coded “lib/python” directory. The new location varies depending on platform and Python version. Typical locations are:

Linux/MacOS:

- /lib/pythonX.Y/site-packages
- /lib64/pythonX.Y/site-packages

Windows:

- /Lib/site-packages

This conforms to Python packaging standards. One benefit of this is users can build OpenUSD into the root of a virtualenv and use the Python bindings without having to configure PYTHONPATH manually.

Users can customize the module install directory by specifying `PXR_PYTHON_INSTALL_DIR` when running `cmake` or `--python-install-dir` when running `build_usd.py`. Specifying `lib/python` will revert to the previous behavior.

Please let me know if you have any questions or comments. For more information, see the links below. Thanks!

> <https://github.com/PixarAnimationStudios/OpenUSD/commit/1b5d48fdf600056969e7ee74bb036fc287f4899d>
>
> By default the build now installs Python modules to the standard
> site-packages d…irectory for the version of Python used to build
> OpenUSD. This directory varies depending on platform and version.
> Typical locations are:
> 
> Linux/MacOS:
> \- \<inst\>/lib/pythonX.Y/site-packages
> \- \<inst\>/lib64/pythonX.Y/site-packages
> 
> Windows:
> \- \<inst\>/Lib/site-packages
> 
> Users can override this by setting the PXR\_PYTHON\_INSTALL\_DIR
> parameter to either an absolute path or a path relative to
> CMAKE\_INSTALL\_PREFIX when running CMake. This is also
> available when running build\_usd.py via the --python-install-dir
> option. Setting this to "lib/python" will restore the previous
> install layout.
> 
> Docs and tutorials were updated to reflect this change. Info
> about the install directory and PYTHONPATH setup were centralized
> in the "Python" section in BUILDING.md, with other docs updated
> to refer there.
> 
> Fixes #30
> 
> (Internal change: 2414602)

> <https://github.com/PixarAnimationStudios/OpenUSD/issues/30/>
>
> The \`pxr\` module is located in $USD\_PREFIX/lib/python but it would be great if i…t was stored using python's standard layout $USD\_PREFIX/lib/python2.7/site-packages. 
> 
> two reasons:
> \- it let's users run \`pip install PyOpenGL --prefix=$USD\_PREFIX\` and it will just work. 
> \- eventually we're going to need to deal with python3. yep, start embracing that idea because python2's EOL is coming :)
> 
> In general I've found that it just makes life easier to organize these things the way that python wants you to.
> 
> Side note: it would be good to add \`PyOpenGL\` to the list of USD's dependencies.
