uv install error
I did not get any pyav related errors during my previous installation, but recently I got this error in a new environment.
I just got the same error here. Looking for help
it runs fine on a fresh env we have:
GIT_LFS_SKIP_SMUDGE=1 uv sync
Using CPython 3.11.9
Creating virtual environment at: .venv
Resolved 254 packages in 3ms
Built openpi-client @ file:///home_weka/haohuanw/openpi-issue-472/openpi/packages/openpi-client
Built openpi @ file:///home_weka/haohuanw/openpi-issue-472/openpi
Built draccus @ git+https://github.com/dlwh/draccus.git@9b690730ca108930519f48cc5dead72a72fd27cb
Built lerobot @ git+https://github.com/huggingface/lerobot@6674e368249472c91382eb54bb8501c94c7f0c56
Built tree==0.2.4
Built asciitree==0.3.3
Prepared 219 packages in 48.69s
Installed 241 packages in 23.05s
and
GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .
Resolved 203 packages in 1.51s
Updated https://github.com/dlwh/draccus.git (54594637b60266125660170c34a6ba12105fb53a)
Built draccus @ git+https://github.com/dlwh/draccus.git@54594637b60266125660170c34a6ba12105fb53a
Prepared 1 package in 7.15s
Uninstalled 1 package in 192ms
Installed 1 package in 148ms
- draccus==0.9.3 (from git+https://github.com/dlwh/draccus.git@9b690730ca108930519f48cc5dead72a72fd27cb)
+ draccus==0.11.1 (from git+https://github.com/dlwh/draccus.git@54594637b60266125660170c34a6ba12105fb53a)
what environment are you using? i can try test it there.
it runs fine on a fresh env we have:
GIT_LFS_SKIP_SMUDGE=1 uv sync Using CPython 3.11.9 Creating virtual environment at: .venv Resolved 254 packages in 3ms Built openpi-client @ file:///home_weka/haohuanw/openpi-issue-472/openpi/packages/openpi-client Built openpi @ file:///home_weka/haohuanw/openpi-issue-472/openpi Built draccus @ git+https://github.com/dlwh/draccus.git@9b690730ca108930519f48cc5dead72a72fd27cb Built lerobot @ git+https://github.com/huggingface/lerobot@6674e368249472c91382eb54bb8501c94c7f0c56 Built tree==0.2.4 Built asciitree==0.3.3 Prepared 219 packages in 48.69s Installed 241 packages in 23.05sand
GIT_LFS_SKIP_SMUDGE=1 uv pip install -e . Resolved 203 packages in 1.51s Updated https://github.com/dlwh/draccus.git (54594637b60266125660170c34a6ba12105fb53a) Built draccus @ git+https://github.com/dlwh/draccus.git@54594637b60266125660170c34a6ba12105fb53a Prepared 1 package in 7.15s Uninstalled 1 package in 192ms Installed 1 package in 148ms - draccus==0.9.3 (from git+https://github.com/dlwh/draccus.git@9b690730ca108930519f48cc5dead72a72fd27cb) + draccus==0.11.1 (from git+https://github.com/dlwh/draccus.git@54594637b60266125660170c34a6ba12105fb53a)what environment are you using? i can try test it there.
I failed with uv install today on cluster, I was also able to install the env on my local desktop few days ago with exact the python 3.11.12
The desktop os version:
Distributor ID: Ubuntu Description: Ubuntu 22.04.5 LTS Release: 22.04
The cluster os version:
LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: Rocky Description: Rocky Linux release 9.4 (Blue Onyx) Release: 9.4 Codename: BlueOnyx
we haven't tested anything with Rockylinux on our end. is it possible to use ubuntu? Alternatively, you could run with an ubuntu container on your cluster.
If I use docker to build, this error will not appear. A week ago, I used the official command to configure the environment and there was no error. But recently, this error will appear. I still get this error when I install the pyav related packages. I may not be good at using uv. It may have an advantage in python package management, but I am better at using conda.
i have also tried with 3.11.12 on ubuntu and it works fine:
uv sync
Using CPython 3.11.12
Creating virtual environment at: .venv
Resolved 254 packages in 2ms
Built openpi-client @ file:///home_weka/haohuanw/openpi-issue-472/openpi/packages/openpi-client
Built openpi @ file:///home_weka/haohuanw/openpi-issue-472/openpi
Built lerobot @ git+https://github.com/huggingface/lerobot@6674e368249472c91382eb54bb8501c94c7f0c56
Built draccus @ git+https://github.com/dlwh/draccus.git@9b690730ca108930519f48cc5dead72a72fd27cb
Built asciitree==0.3.3
Built tree==0.2.4
Prepared 241 packages in 51.33s
Installed 241 packages in 23.06s
unfortunately, i don't have a rockylinux vm to test, but i have tried running in rockylinux container and it works fine:
[root@b851d994849f openpi]# uv sync
Using CPython 3.11.12
Creating virtual environment at: .venv
Resolved 254 packages in 2ms
Built openpi-client @ file:///code/openpi/packages/openpi-client
Built openpi @ file:///code/openpi
Updated https://github.com/huggingface/lerobot (6674e368249472c91382eb54bb8501c94c7f0c56)
Updated https://github.com/dlwh/draccus.git (9b690730ca108930519f48cc5dead72a72fd27cb)
Built draccus @ git+https://github.com/dlwh/draccus.git@9b690730ca108930519f48cc5dead72a72fd27cb
Built lerobot @ git+https://github.com/huggingface/lerobot@6674e368249472c91382eb54bb8501c94c7f0c56
Built asciitree==0.3.3
Built tree==0.2.4
Prepared 241 packages in 28.52s
░░░░░░░░░░░░░░░░░░░░ [0/241] Installing wheels... warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
If the cache and target directories are on different filesystems, hardlinking may not be supported.
If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Installed 241 packages in 32.69s
[root@b851d994849f openpi]# cat /etc/os-release
NAME="Rocky Linux"
VERSION="9.4 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.4"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.4 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
SUPPORT_END="2032-05-31"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.4"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.4"
could you double check and make sure there are no accidental modifications to either pyproject.toml or uv.lock file?
The root cause isn’t OpenPI itself—it’s the outdated lerobot commit the repo is pinned to. That old commit still depends on the package name pyav, which is wrong; the library is now published as av. Seems like this was fixed upstream in lerobot at commit ed83cbd4f2091a3e97cdd0c48cc657020c037240.
If you manually bump the lerobot hash in uv.lock, the installation goes through, but you’ll then hit other incompatibilities because OpenPI was written against the older lerobot API. The long-term fix is for OpenPI to update its lerobot reference to at least ed83cbd and adjust any breaking changes accordingly.
I’m not sure whether we can simply patch the install script to pull av in place of pyav while still using the original lerobot commit.
根本原因并非 OpenPI 本身,而是该仓库所绑定的过时的 lerobot 提交。该旧提交仍然依赖于包名 pyav,而这个包名是错误的;该库现在以 av 的形式发布。这个问题似乎已在 lerobot 上游的提交中得到修复
ed83cbd4f2091a3e97cdd0c48cc657020c037240。如果您在 uv.lock 中手动修改 lerobot 哈希值,安装过程会顺利进行,但随后会遇到其他不兼容问题,因为 OpenPI 是基于较旧的 lerobot API 编写的。长期解决方案是让 OpenPI 将其 lerobot 引用更新到至少 ed83cbd,并相应地调整任何重大更改。
我不确定我们是否可以简单地修补安装脚本以将 av 替换为 pyav,同时仍然使用原始的 lerobot 提交。
i think that is the reason.
The root cause isn’t OpenPI itself—it’s the outdated lerobot commit the repo is pinned to.
it's possible but unlikely to be the case in my opinion since it won't explain why another fresh installation inside the container still works (there are no uv cache exists). uv.lock contains a package as pyav with links that are still valid: https://github.com/Physical-Intelligence/openpi/blob/main/uv.lock#L3274-L3298
since i am not able to repro it in any environment that is available to me, you can follow these steps as a workaround to unblock yourself if it could fix the issue:
- create a fork on lerobot
- on the forked repo, checkout
https://github.com/huggingface/lerobot/commit/6674e368249472c91382eb54bb8501c94c7f0c56update pyav deps and cherry-pickhttps://github.com/huggingface/lerobot/commit/ed83cbd4f2091a3e97cdd0c48cc657020c037240. Push the change. - in your openpi, update https://github.com/Physical-Intelligence/openpi/blob/main/pyproject.toml#L61 with
lerobot = { git = "https://github.com/<your username>/lerobot", rev = "<newly pushed commit>" } - then
uv syncto sync with an updated lerobot repo.
I am having the same problem. I'm using ubuntu 24.04.
Before
In uv.lock, we have:
[[package]]
name = "lerobot"
version = "0.1.0"
source = { git = "https://github.com/huggingface/lerobot?rev=6674e368249472c91382eb54bb8501c94c7f0c56#6674e368249472c91382eb54bb8501c94c7f0c56" }
dependencies = [
...
]
In the above, we have rev=6674e368249472c91382eb54bb8501c94c7f0c56. That's a commit in lerobot from Feb 1, 2025.
Also, in pyproject.toml, we have
lerobot = { git = "https://github.com/huggingface/lerobot", rev = "6674e368249472c91382eb54bb8501c94c7f0c56" }
After
I updated uv.lock to the latest lerobot commit: a445d9c9da6bea99a8972daa4fe1fdd053d711d2. Specifically, I do this:
[[package]]
name = "lerobot"
version = "0.1.0"
source = { git = "https://github.com/huggingface/lerobot?rev=a445d9c9da6bea99a8972daa4fe1fdd053d711d2#a445d9c9da6bea99a8972daa4fe1fdd053d711d2" }
dependencies = [
...
]
I updated pyproject.toml:
lerobot = { git = "https://github.com/huggingface/lerobot", rev = "a445d9c9da6bea99a8972daa4fe1fdd053d711d2" }
Then, I rerun GIT_LFS_SKIP_SMUDGE=1 uv sync, and then GIT_LFS_SKIP_SMUDGE=1 uv pip install -e ..
It installs this time without an error!
I replaced all occurrences of pyav with av in both pyproject.toml and uv.lock, and it worked.
Also having this problem and I'm having it in Colab don't know if that is related, but it seems like that other people are also having the issue in other environments
Can someone try sourcing the env after uv sync.
So after running: GIT_LFS_SKIP_SMUDGE=1 uv sync
Source the new env: source .venv/bin/activate
Then run: GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .
This helped me install the package without any modification related to pyav av.
I am having the same problem. I'm using ubuntu 24.04.
Before
In uv.lock, we have:
[[package]] name = "lerobot" version = "0.1.0" source = { git = "https://github.com/huggingface/lerobot?rev=6674e368249472c91382eb54bb8501c94c7f0c56#6674e368249472c91382eb54bb8501c94c7f0c56" } dependencies = [ ... ]In the above, we have
rev=6674e368249472c91382eb54bb8501c94c7f0c56. That's a commit in lerobot from Feb 1, 2025.Also, in pyproject.toml, we have
lerobot = { git = "https://github.com/huggingface/lerobot", rev = "6674e368249472c91382eb54bb8501c94c7f0c56" }After
I updated uv.lock to the latest lerobot commit: a445d9c9da6bea99a8972daa4fe1fdd053d711d2. Specifically, I do this:
[[package]] name = "lerobot" version = "0.1.0" source = { git = "https://github.com/huggingface/lerobot?rev=a445d9c9da6bea99a8972daa4fe1fdd053d711d2#a445d9c9da6bea99a8972daa4fe1fdd053d711d2" } dependencies = [ ... ]I updated pyproject.toml:
lerobot = { git = "https://github.com/huggingface/lerobot", rev = "a445d9c9da6bea99a8972daa4fe1fdd053d711d2" }Then, I rerun
GIT_LFS_SKIP_SMUDGE=1 uv sync, and thenGIT_LFS_SKIP_SMUDGE=1 uv pip install -e ..It installs this time without an error!
it doesn't work now
We have resolved the version incompatibility issue with OpenPI.
The latest compatible version has been placed under the policy/openpi directory of the RoboTwin project.
We also provide a complete environment setup guide for the latest version.
You are welcome to use RoboTwin to evaluate your VLA models.
source .venv/bin/activate
Thanks!Problem solved!