Python 3.7.7 will be in the next release of Cinema 4D
For those who didn't see the announcement this morning, the next release of Cinema 4D is moving to Python 3.7.7
CELEBRATING 10 YEARS OF PYTHON IN CINEMA 4D WITH A MAJOR MILESTONE
iluxa7k last edited by
Will continue to port taichi to c4d
"If developers have predominately used Cinema 4D's API the changes should be minor, and most changes can be made in a backwards-compatible way so there's no need to maintain a separate code base to continue supporting older Cinema 4D releases. In fact, the 2to3 tool included in every Python distribution makes it easy to identify compatibility issues and can directly patch your code."
Will there be an example of how to do this in the SDK examples on GitHub?
blastframe last edited by
iluxa7k last edited by iluxa7k
I think users are having S22 now and will be R22 with py2.7. But showed S22.9XX build. So we will get R23 with python 3.7x but need 3.8(3.9) in the end of 2021
I have been looking at my plugins and my biggest question so far is how to handle
urllib2in a way that will work with both Python 2.7 and 3.7.7. Everything else just seems to be adding parentheses to
I found this Cheat Sheet: Writing Python 2-3 compatible code that suggests:
# Python 2 and 3: easiest option from future.standard_library import install_aliases install_aliases() from urllib.parse import urlparse, urlencode from urllib.request import urlopen, Request from urllib.error import HTTPError
However, trying that in Cinema 4D threw this error:
ImportError: No module named future.standard_library
Fortunately, there are some alternatives to try, like
# Python 2 and 3: alternative 4 try: from urllib.parse import urlparse, urlencode from urllib.request import urlopen, Request from urllib.error import HTTPError except ImportError: from urlparse import urlparse from urllib import urlencode from urllib2 import urlopen, Request, HTTPError
From that article: "
urllibis the hardest module to use from Python 2/3 compatible code."