Skip to content

Conversation

@duncankmckinnon
Copy link

@duncankmckinnon duncankmckinnon commented Jun 11, 2025

This change adds a script that can be run to setup the development environment for the project in a .venv folder created using uv and python3.11 (support for decord is not available in 3.12).
It gracefully accounts for the lack of Apple Silicon support in the decord package, which would otherwise prevent users from setting up their environment with the provided instructions. For users on other systems, the setup is unaffected but benefits from the speed and robustness of uv for package management.

@facebook-github-bot
Copy link

Hi @duncankmckinnon!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks!

@facebook-github-bot
Copy link

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Meta Open Source project. Thanks!

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Meta Open Source bot. label Jun 11, 2025
Copy link

@oojassalunke oojassalunke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@duncankmckinnon Having a similar error with this script on Linux ARM64.

oojas@fremont-jetson:~/code/dd/vjepa2$ ./bin/developer_setup.sh
Using CPython 3.11.13
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate
Installing all dependencies from requirements.txt...
  × No solution found when resolving dependencies:
  ╰─▶ Because only the following versions of decord are available:
          decord==0.0.1b20190911
          decord==0.0.1b20190912
          decord==0.0.1b20190913
          decord==0.0.1b20190927
          decord==0.0.1
          decord==0.2.0b20190927
          decord==0.2.0b20190929
          decord==0.2.0
          decord==0.3.0
          decord==0.3.1
          decord==0.3.2
          decord==0.3.3
          decord==0.3.4
          decord==0.3.5
          decord==0.3.6
          decord==0.3.7
          decord==0.3.8
          decord==0.3.9
          decord==0.4.0
          decord==0.4.1
          decord==0.4.2
          decord==0.5.0
          decord==0.5.1
          decord==0.5.2
          decord==0.6.0
      and decord<=0.0.1b20190927 has no wheels with a matching platform tag (e.g., `manylinux_2_31_aarch64`), we can conclude that decord<=0.0.1b20190927 cannot be used.
      And because decord==0.0.1 has no wheels with a matching Python ABI tag (e.g., `cp311`), we can conclude that decord<0.2.0b20190927 cannot be used.
      And because decord>=0.2.0b20190927,<=0.2.0b20190929 has no wheels with a matching platform tag (e.g., `manylinux_2_31_aarch64`) and decord==0.2.0 has no wheels with a
      matching Python ABI tag (e.g., `cp311`), we can conclude that decord<0.3.0 cannot be used.
      And because decord>=0.3.0 has no wheels with a matching platform tag (e.g., `manylinux_2_31_aarch64`) and you require decord, we can conclude that your requirements are
      unsatisfiable.

      hint: Wheels are available for `decord` (v0.0.1b20190927) on the following platform: `manylinux1_x86_64`

      hint: You require CPython 3.11 (`cp311`), but we only found wheels for `decord` (v0.0.1) with the following Python ABI tags: `cp35m`, `cp36m`, `cp37m`

@duncankmckinnon
Copy link
Author

duncankmckinnon commented Jun 16, 2025

Hmm, @oojassalunke - I could include the linux arm64 setup in the workaround if that fixes the issue? Currently it only uses the different installation for mac arm64 chips

@mmuckley
Copy link
Contributor

mmuckley commented Jun 24, 2025

Hello @duncankmckinnon, thanks for contributing this - I've referred other users to this PR and they've found it helpful.

I'm wondering if we could commit this without a new Python file. Could you modify the PR to simply update some README text to swap out the version of decord for users that want to run on macOS? My preference is to not include official documentation for extra install processes, as when users have problems with things like uv we don't really know how to help them. But simply referring users to the correct package version in the README seems fine.

@russellhowes
Copy link
Contributor

Closing this out--feel free to address Matt's comment and resubmit and we'll take another look.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants