Skip to content

uv install error #472

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
NBdadasama opened this issue May 9, 2025 · 12 comments
Open

uv install error #472

NBdadasama opened this issue May 9, 2025 · 12 comments

Comments

@NBdadasama
Copy link

I did not get any pyav related errors during my previous installation, but recently I got this error in a new environment.

Image

@jerry007005
Copy link

I just got the same error here. Looking for help

@haohuanw
Copy link
Contributor

haohuanw commented May 9, 2025

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.

@jerry007005
Copy link

jerry007005 commented May 9, 2025

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.

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

@haohuanw
Copy link
Contributor

haohuanw commented May 9, 2025

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.

@NBdadasama
Copy link
Author

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.

@haohuanw
Copy link
Contributor

haohuanw commented May 9, 2025

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?

@jinPrelude
Copy link

jinPrelude commented May 9, 2025

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.

@NBdadasama
Copy link
Author

根本原因并非 OpenPI 本身,而是该仓库所绑定的过时的 lerobot 提交。该旧提交仍然依赖于包名 pyav,而这个包名是错误的;该库现在以 av 的形式发布。这个问题似乎已在 lerobot 上游的提交中得到修复ed83cbd4f2091a3e97cdd0c48cc657020c037240

如果您在 uv.lock 中手动修改 lerobot 哈希值,安装过程会顺利进行,但随后会遇到其他不兼容问题,因为 OpenPI 是基于较旧的 lerobot API 编写的。长期解决方案是让 OpenPI 将其 lerobot 引用更新到至少 ed83cbd,并相应地调整任何重大更改。

我不确定我们是否可以简单地修补安装脚本以将 av 替换为 pyav,同时仍然使用原始的 lerobot 提交。

i think that is the reason.

@haohuanw
Copy link
Contributor

haohuanw commented May 9, 2025

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:

  1. create a fork on lerobot
  2. on the forked repo, checkout https://github.com/huggingface/lerobot/commit/6674e368249472c91382eb54bb8501c94c7f0c56 update pyav deps and cherry-pick https://github.com/huggingface/lerobot/commit/ed83cbd4f2091a3e97cdd0c48cc657020c037240. Push the change.
  3. 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>" }
  4. then uv sync to sync with an updated lerobot repo.

@forresti
Copy link

forresti commented May 9, 2025

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!

@xiaoen0
Copy link

xiaoen0 commented May 23, 2025

Image I am having a similar problem.

I replaced all occurrences of pyav with av in both pyproject.toml and uv.lock, and it worked.

@markattarcolgate64
Copy link

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

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants