Skip to content

update conda yaml: add pyside6 as conda dependency - #3253

Merged
MMathisLab merged 1 commit into
DeepLabCut:mainfrom
deruyter92:jaap/update_conda_yaml_pyside
Apr 12, 2026
Merged

update conda yaml: add pyside6 as conda dependency#3253
MMathisLab merged 1 commit into
DeepLabCut:mainfrom
deruyter92:jaap/update_conda_yaml_pyside

Conversation

@deruyter92

Copy link
Copy Markdown
Collaborator

solves #3252

Summary
The installation using our conda yaml can cause a dll shadowing problem on some machines if ffmpeg is installed via conda and pyside6 via pip (the conda-installed ffmpeg dll's are resolved first, but can have a mismatching version for pyside6). This issue of mixing conda and pip installations (for ffmpeg and pyside6) can be addressed by either installing both via pip or both via conda. This PR includes pyside6 as a conda dependency for users of the conda yaml file.

Notes:

  1. We might want to stop supporting mixed conda + pip installations and delete this yaml file altogether, or at least clearly communicate that installation via uv or pip is preferred over mixed installations via conda + pip (this is not required anymore and still a big cause of installation problems).
  2. An alternative to the current solution in this PR is to remove ffmpeg as a conda requirement, which also solves the problem. It seemed safer for me to add them both as conda requirement for now as I don't know the original motivation for putting ffmpeg as conda requirement in the yaml. If this is not necessary, we might prefer adding both as pip rather than conda requirements.

@C-Achard

Copy link
Copy Markdown
Collaborator

It seems that the PyPi version of 'ffmpeg' is a thin wrapper for python that assumes the binaries are already installed, which is why conda is in use there.

I've seen a few packages use a different method, which is to pause when ffmpeg is not installed and ask whether to run a script to install the binaries; not sure if we should consider doing the same.

@C-Achard C-Achard added the dependencies Pull requests that update a dependency file label Mar 23, 2026
@C-Achard

C-Achard commented Mar 23, 2026

Copy link
Copy Markdown
Collaborator

Regarding the installation and the python wrapper : see here

@C-Achard C-Achard left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Good fix for now!

This resolves a dll shadowing problem, since shared dlls are used between ffmpeg and pyside6
@deruyter92
deruyter92 force-pushed the jaap/update_conda_yaml_pyside branch from 2052eb0 to 1bf8e8d Compare April 10, 2026 08:48
@deruyter92

Copy link
Copy Markdown
Collaborator Author

Cleaned it up
(thanks for adding your CI changes in this PR @C-Achard, but now they are merged in main so we can keep those separate).

@C-Achard

Copy link
Copy Markdown
Collaborator

Indeed, sorry for the extra work @deruyter92

@MMathisLab
MMathisLab merged commit d6ff592 into DeepLabCut:main Apr 12, 2026
17 checks passed
@deruyter92 deruyter92 mentioned this pull request May 21, 2026
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DeepLabCut YAML install works on macOS, but on Windows the GUI fails with Qt/PySide6 import errors

3 participants