appleseedhq / appleseed

A modern open source rendering engine for animation and visual effects
https://appleseedhq.net/
MIT License
2.21k stars 330 forks source link

Python3 only build ? #2817

Open nyue opened 4 years ago

nyue commented 4 years ago

Are we at the stage where we can build appleseed.studio when only Python3 is available ?

jdent02 commented 4 years ago

No. Appleseed.studio is Python 2 only.

Python 3 is only used for the Blender plugin

est77 commented 4 years ago

Python 2 is also used in Gaffer and Maya plugins. If you don't need studio or the plugins, you can build with Py3 only.

dictoon commented 4 years ago

What would it take to completely get rid of Python 2.x? At least for everything that's not a plugin?

est77 commented 4 years ago

Updating the cmake files to link with Python 3 and boost python 3. Checking if the Python code we have in studio works with Py3. Updating the deps. Since we cannot get rid of Py2 for a long time and we don't really use Python in studio I don't think it is worth it to update for now.

epsilon-0 commented 4 years ago

@est77 Am bringing up this issue again, as python2 has reached EOL and general support for it has been on the lower side. Am wondering how hard is the python2 to python3 migration? Would love to give any small help I can, I am trying to get this packaged for Gentoo and we have actively removed a lot of python2 and are soon going to remove it from the OS, so would like to see this one working with python3.

epsilon-0 commented 4 years ago

The few python3 files I could fine, in the few seconds I spent -

-rw-r--r-- 1 portage portage 15K Aug 31  2019 ./docs/source/conf.py
-rw-r--r-- 1 portage portage 12K Aug 31  2019 ./sandbox/examples/python/helloworld/helloworld.py
-rw-r--r-- 1 portage portage 2.1K Aug 31  2019 ./sandbox/examples/python/studio/plugins/basicenumerator/__init__.py
-rw-r--r-- 1 portage portage 3.7K Aug 31  2019 ./sandbox/examples/python/studio/plugins/textureprocessor/__init__.py
-rw-r--r-- 1 portage portage 53K Aug 31  2019 ./sandbox/lib/python/site-packages/Qt.py
-rw-r--r-- 1 portage portage 7.8K Aug 31  2019 ./sandbox/share/aspaths2json.py
-rw-r--r-- 1 portage portage 36K Aug 31  2019 ./sandbox/share/mitsuba2appleseed.py
-rw-r--r-- 1 portage portage 7.2K Aug 31  2019 ./sandbox/share/rfmdisneypresets2appleseed.py
-rw-r--r-- 1 portage portage 5.7K Aug 31  2019 ./sandbox/tests/test scenes/energy compensation/make_grid.py
-rw-r--r-- 1 portage portage 8.5K Aug 31  2019 ./sandbox/tests/test scenes/many light sampling/generators/4_point_lights_test_scene.py
-rw-r--r-- 1 portage portage 11K Aug 31  2019 ./sandbox/tests/test scenes/many light sampling/generators/grid_emt.py
-rw-r--r-- 1 portage portage 11K Aug 31  2019 ./sandbox/tests/test scenes/many light sampling/generators/grid_point_lights.py
-rw-r--r-- 1 portage portage 5.7K Aug 31  2019 ./scripts/appleseed.benchmark.py
-rwxr-xr-x 1 portage portage 35K Aug 31  2019 ./scripts/appleseed.package.py
-rw-r--r-- 1 portage portage 4.7K Aug 31  2019 ./scripts/cleanmany.py
-rw-r--r-- 1 portage portage 5.6K Aug 31  2019 ./scripts/convertmany.py
-rw-r--r-- 1 portage portage 17K Aug 31  2019 ./scripts/oslextractmeta.py
-rw-r--r-- 1 portage portage 22K Aug 31  2019 ./scripts/rendermanager.py
-rw-r--r-- 1 portage portage 6.6K Aug 31  2019 ./scripts/rendermany.py
-rw-r--r-- 1 portage portage 18K Aug 31  2019 ./scripts/rendernode.py
-rw-r--r-- 1 portage portage 240 Aug 31  2019 ./scripts/runtestsuite/colorama/__init__.py
-rw-r--r-- 1 portage portage 2.5K Aug 31  2019 ./scripts/runtestsuite/colorama/ansi.py
-rw-r--r-- 1 portage portage 9.5K Aug 31  2019 ./scripts/runtestsuite/colorama/ansitowin32.py
-rw-r--r-- 1 portage portage 1.9K Aug 31  2019 ./scripts/runtestsuite/colorama/initialise.py
-rw-r--r-- 1 portage portage 5.3K Aug 31  2019 ./scripts/runtestsuite/colorama/win32.py
-rw-r--r-- 1 portage portage 6.2K Aug 31  2019 ./scripts/runtestsuite/colorama/winterm.py
-rw-r--r-- 1 portage portage 102K Aug 31  2019 ./scripts/runtestsuite/png.py
-rw-r--r-- 1 portage portage 21K Aug 31  2019 ./scripts/runtestsuite/runtestsuite.py
-rw-r--r-- 1 portage portage 3.8K Aug 31  2019 ./scripts/sortincludes.py
-rw-r--r-- 1 portage portage 3.4K Aug 31  2019 ./scripts/updatetestsuiterefimages.py
-rw-r--r-- 1 portage portage 2.1K Aug 31  2019 ./src/appleseed.python/__init__.py
-rw-r--r-- 1 portage portage 2.8K Aug 31  2019 ./src/appleseed.python/logtarget.py
-rw-r--r-- 1 portage portage 1.5K Aug 31  2019 ./src/appleseed.python/test/runtests.py
-rw-r--r-- 1 portage portage 2.2K Aug 31  2019 ./src/appleseed.python/test/testbasis.py
-rw-r--r-- 1 portage portage 2.2K Aug 31  2019 ./src/appleseed.python/test/testdict2dict.py
-rw-r--r-- 1 portage portage 4.8K Aug 31  2019 ./src/appleseed.python/test/testentitymap.py
-rw-r--r-- 1 portage portage 3.9K Aug 31  2019 ./src/appleseed.python/test/testentityvector.py
-rw-r--r-- 1 portage portage 986 Aug 31  2019 ./src/appleseed.python/textureconverter.py
-rw-r--r-- 1 portage portage 1.5K Aug 31  2019 ./src/appleseed.studio/python/studio/__init__.py
-rw-r--r-- 1 portage portage 2.9K Aug 31  2019 ./src/appleseed.studio/python/studio/plugins.py
-rw-r--r-- 1 portage portage 2.2K Aug 31  2019 ./src/appleseed.studio/python/studio/ui.py
danfe commented 3 years ago

Python 3 bindings do not build for me unless I apply this patch first.

we don't really use Python in studio I don't think it is worth it to update for now.

On the contrary, if appleseed.studio can be divorced from Python 2.x easily it makes even more sense to do so. Python 2.x code is not even allowed in some distributions which means only CLI part can be packaged.

danfe commented 3 years ago

I am trying to get this packaged for Gentoo and we have actively removed a lot of python2 and are soon going to remove it from the OS, so would like to see this one working with python3.

We (FreeBSD) started to package (again) the latest released version 2.1.0-beta with Python 3.x bindings and appleseed.studio enabled. This requires some patching, but not too much. Admittedly, I haven't checked every Python script for 3.x conformance, but both CLI and GUI allow me to render a test scene.