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.
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.
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)
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.
@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?
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.
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
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.