-
Notifications
You must be signed in to change notification settings - Fork 345
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
Natron 2.5 release w/ Python 3 (track progress) #828
Comments
I started the transition to latest MSYS2 today. Should be finished in a couple of days. |
Any progress on that @rodlie ? |
I can dedicate Saturday to finish the Windows stuff. |
you don't /have/ to! |
So, everything builds and seems to run, however:
|
why doesn't this zip work? making your own is rather risky. We only take the python39.zip file from it, which contains portable byte-compiled files. We use the same on macOS and Linux, why not on Win32? |
I tagged version 2.5.0, and started producing binaries |
It's built for MSVC and includes and depends on libraries (sqlite/openssl) that conflicts with the libraries we ship in Natron. I don't see any risk as I produce the same zip as upstream, but linked properly (and built with MinGW).
Ok, I will try to get a Windows build packaged tomorrow, I don't think I have enough time to finish it today. |
There's no binaries in the zip-inside-the-zip (check out how we extract it in zip-python.zip), so no risk of binary conflict! As I said, we are already using the same zip on Linux and macOS |
Here's the content of python310.zip (the LINUX one, which I use on macOS!). |
Yes, sorry I misunderstood. Something with that upstream zip does not work, as trying to use that file breaks the Python we use in Natron. It's been a while since I last did anything with this, so let me double check and report back what the problem was. |
Works with Python 3.10 👍 , but not with 3.9 or lower (yes I used the correct zip). Might be an MSYS2 bug with older Python's (remember MSYS2 uses a fork of Python). Then I might get something ready today. |
When you have time, can you please also rebuild 2.4.4 with the script that fixes qtpy: 4ee9541 With that fix, "from qtpy import QtCore" should work in "NatronRenderer -t". Not a requirement, since qtpy is supposed to be a Natron 2.5 feature, but that will help the users in their transition to Qt5 |
Ok, will do, currently having issues cloning from github so can't run the build scripts at the moment. Btw, get a lot of warnings in RB-2.5/plugins: this seems to be the reason for libs/ceres not building: https://stackoverflow.com/questions/42231558/mingw-c-wont-compile-j0-funciton |
wait a bit till I give the green light to rebuild 2.4.4, I'm looking into these issues. as for those CPPFLAGS:
|
ok build issues on linux and macOS are fixed, I re-created the 2.4.4 and 2.5.0 binaries. You can go with windows. The most important fix was for qtpy, which didn't work on Qt4 |
all linux and macOS 2.5.0 binaries were uploaded and ready for release |
I'm waiting on a new snapshot build, fixed the build issues, will see how far the python stuff goes. After that I need to update a couple of packages (oiio etc) then run a release build. Unsure when done, probably tomorrow (as it's 21:15 here). |
Something is still off with the python310.zip I got from upstream. pip will not work
If I replace the python310.zip with the one I made it works.
|
So, finally able to produce a RB-2.5 snapshot build. Still need to update some libs (oiio etc), and go through my build changes and commit. I do however get two new unit test failures. GNUVoladorI assume this is because I now have a modern version of librsvg(?). PIKDon't know why this failed, will need to go through the logs. |
Those failures also happen on macOS, but not on Linux. Both failures are new to 2.5.0 but were absent from 2.5.0alpha2. I'll try to give it a look, but the main difference is the Python version (3.9 on Linux, 3.10 on 2.5.0 macOS, 3.9 on 2.5.0a2 macOS) |
On macOS, 2.5.0alpha2 had librsvg 2.52.4, 2.5.0 has 2.54.5 |
I currently have issues with deadlocks in the unit tests. I have tried upgrading/downgrading OIIO etc, but nothing seems to work. This is an regression compared to v2.4. |
I uploaded the 2.5.0 build. Seems ok (disregarding failed tests), however the deadlocks in the unit tests are concerning and Natron may not close properly in some circumstances. I will try to improve the new sdk sometime this week(end). |
the only major difference is python 3. 2.5 probably still compiles with python 2, can you give it a test? |
I suspect this being a MSYS/MinGW issue, but will try to do a build with py2 (if possible). |
Hi, I tested the 2,5 pre windows build with success: It is at least as stable as 2.4.3 Some questions: |
OK I fixed the GNUVolador issue. That was a major issue with Python >= 3.10 (couldn't use a double-values expression for an int parameter): 54415e7 Now working on the PIK failure |
Actually, it's even better to make them 2-3 compatible, using these guidelines: https://python-future.org/compatible_idioms.html
Not until we mark 2.5.0 as a release (it's currently pre-release) |
Both tests are passing now, you can start building for windows, @rodlie ! |
Sorry for the delay (been sick), GNUVolador still fails here (release build). |
you mean fails as before (which is just a large image difference due to a different version of librsvg I think), or fails as in the image above? I fixed the root cause for the wings not animating, so I don't see how it could fail only on windows. |
So are we all good? I think all lights are green for the release. Then we can focus on the migration to Qt5 (2.6) - and maybe switch the windows build to using MSVC + vcpkg |
Yeah, the Windows build seems to work. Limited testing on my part (tested on a couple of workstations with some real life projects, don't see any regression compared to v2.4).
Ok. Will need some tweaking on Windows at least, but not anything major.
That's a big maybe ;) (at least this year). |
released! |
Hi, but in natron 2.4.3 the same command throws an error: My understanding is we need it on both versions to make scripts py2 py3 compatibles. Do you have a working version of "future" for python 2.7 windows ? Or another solution ? Thanks again for the release! |
isn't future bundled with python? |
No future... |
Anyway, I don't think there were any Python2-specific constructs in the community scripts. |
Nice to see Natron finally updating to Python 3! I'm glad none of the community plugins had real compatibility problems. I do hear that some built-in libraries available in Python 2 aren't available in 3.11 (no problems there as well). We're quite a conservative bunch! |
The only issue was illegal UTF-8 characters in Python files. Fixed in NatronGitHub/natron-plugins#18 |
Ok, will need to wait until I'm home (at work). |
Just uploaded v2.5.0 with |
Can't install
|
@rodlie did you try
|
reopening to fix the "pip install future" |
I have mingw setuptools installed, but setuptools was installed by pip since the mingw setuptools was not in the tmp deploy folder. Should have a new build done within an hour. |
So, get-pip.py will remove whatever setuptools I have installed in the Natron folder and install it's own regardless. Will add a workaround, but it will have to wait until tomorrow, it's too late. |
looks like we have a windows build. Closing this issue! |
This issue tracks Python3 support progress
Feel free to edit this issue, and use comments for discussion.
Target release
Release 2.5 will use Python3.
Builds are already available for Linux and macOS: https://github.com/NatronGitHub/Natron/releases/tag/v2.5.0-alpha.2
Windows support is the main thing to fix before releasing 2.5.0
Bugs introduced by Python3
None identified
OS Support
Windows
Build (MSVC?)maybe for 2.6Linux
macOS
Build (12.x M1)(not supported by Qt4)Binary distribution (M1)(not supported by Qt4)The text was updated successfully, but these errors were encountered: