OpenTimelineIO Devs needs BF devs to solve python related installation problems

The Blender issue on Github: Resolve installation into Blender · Issue #987 · PixarAnimationStudios/OpenTimelineIO · GitHub

Blender add-on for OTIO: superprod / Stax Suite / Blender VSE IO · GitLab

Slack: https://academysoftwarefdn.slack.com/messages/CMQ9J4BQC

1 Like

It’s quite unclear who exactly is asking for help with what.

My best guess is that someone tried to install opentimelineio in Blender 2.93, but there is no binary wheel for Python 3.9, only Python 3.7. That led to them trying to build it from source, which doesn’t work well with Blender’s bundled Python version. But users shouldn’t be having to do that in the first place, since they’d have to install Visual Studio, CMake, etc.

Much of what JT Nelson said in Slack is also just wrong information, I replied there to try to correct it.

Ok. Thanks for helping out. They have been putting a lot of effort into making it work for Blender on Windows, but still unsuccessfully.

Apparently, Félix David’s add-on should install the OTIO wheel successfully on Linux and MacOS, if you guys want to see how it’s supposed to work(I’m on Windows).

Which Blender version are you talking about though?

As far as I can tell there is no wheel for Python 3.9 (for any platform), as required for Blender 2.93. They even have a bug report open about issues with that Python version:

There is a wheel for Python 3.7, and it’s not clear if there actually is an issue installing that on Windows in Blender 2.83 or 2.92.

There was a problem installing that one in 2.83 on Blender on Windows: Can't install with pip · Issue #667 · PixarAnimationStudios/OpenTimelineIO · GitHub

There was one contributor who did a successful wheel for Blender & windows, which made it possible for me to do this add-on: GitHub - tin2tin/VSE_OTIO_Export: Export from the Blender Video Sequence Editor(VSE) using OTIO to many formats, including aaf, fcpxml, cms 3600 edl, kdenlive, otio etc.
But the OTIO-folks didn’t go with what this contributor offered, and they still haven’t provided/build a working wheel for windows/Blender.
Later did Félix David his add-on which also supports import, but the installation on Blender on Windows never worked with his add-on either: superprod / Stax Suite / Blender VSE IO · GitLab

I agree with you, that the best way would be, if they provide a wheel, the Félix David Blender OTIO add-on by could install directly, but I can’t tell you why this wheel-build is causing trouble in a way, that they are now trying a different way, which apparently needs the additional python headers mentioned here: Resolve installation into Blender · Issue #987 · PixarAnimationStudios/OpenTimelineIO · GitHub
They have been trying to solve this Blender/windows installation problem for more than a year now, which is why I’ve come to the conclusion, they’ll need some help from BF, if OTIO for Blender isn’t going to be abandoned. So, thanks again for spending your time on this.

Personally I think the best solution is to ship binaries wit add-ons, and not require users to install anything.

For shipping Python headers with Blender, I don’t know the reasons why that’s not done, you could ask one of the Python module members.

For the OpenTimelineIO project, my impression is that no one has gotten around to doing the work for the Windows wheel, not that there is some blocking issue that they need help solving.

1 Like

Binary wheels work for blenders python however, on windows there are a few if then and buts, that we could have better guidance on.

when you have the .zip version of blender all is well, when you pick up blender from the windows store or use the msi installer things get a bit more difficult since the folders blender install into are heavily sandboxed and only administrators have write permissions to them usually.

Given pip will try to install into those folders, that be a problem, telling pip to install into the user home folder, sidesteps the issue.

The relevant tracker ticket here is T71420 for an essentially cut/paste ready solution see this post in that topic by user Roman Markov (unwave)

Shouldn’t this be reopened and dealt with?

Actually, I managed to fix it on windows, and it’s been merged: Use Pybind11's find python tool to correctly locate python install information by Tilix4 · Pull Request #950 · PixarAnimationStudios/OpenTimelineIO · GitHub

But it was working on Python 3.7, and for Python 3.9, no any OTIO version works, that’s what I explain here: Python 3.9 Support · Issue #828 · PixarAnimationStudios/OpenTimelineIO · GitHub

reopened? Ticket hasn’t been closed? As for priority and when this gets dealt with that’s up to the python module team, can’t offer any insights there.

I’m sorry I meant this patch(which was mentioned on the github thread I linked to above): ⚓ T74470 Missing Python headers (Python.h)

I have no answers beyond what @brecht already said here

@ideasman42, do you know the reason we do not ship the Python headers? Is it download size?

Only that they didn’t seem necessary at the time (when initially bundling Python), if they are needed, I don’t have anything against including them.

1 Like

@LazyDodo maybe this is something we can add to the library upgrades list for 3.0 then? Assuming this does not massively increase the Blender download size.

EDIT: or maybe it doesn’t even need a rebuild, and is just a matter of copying more files for install?

1 Like

it’s like 650k of headers, compresses down to 220k or so, we already have the headers in SVN since we require them to build blender, so it should be a matter of adding them into the install section of creators cmakelist and off we go.

5 Likes

That would be nice, has this been solved or still a task to be done?

I’m not on the python team, so can’t say for sure, can say i don’t remember seeing a commit like that float by. @ideasman42 will know for sure what the status is

3 Likes

If including the headers is useful and compiles with 3rd party modules, it seems reasonable to include them.

1 Like

Hi! It’s the first time I comment in this forum, so I hope I’ll do it correctly.

I’ve been helping on the OTIO Python packaging side and have been testing OTIO in Blender to make sure we support it.

I’d be interested to contribute adding the Python headers to the Blender installs. As other stated (maybe not in this post though), not having the headers is painful, particularly on Windows.

If I understand correctly, it would simply be a matter of adding an install call approximately at CMakeLists.txt · rB? Should we also do the same for other platforms (I think so, but I prefer to ask)?

If so, I’ll be more than happy to take an hour or two to send a patch.

Let me know,

Jean-Christophe Morin

3 Likes