You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are now less that 400 days until the end of life of Python 2 (aka legacy Python). The v8 repo is just 1.4% Python but that is all legacy Python and at least 76 files need to be modified just to fix the print statement which is merely the start of a Python 3 port. v8 is a venerable codebase and I often hear that it has been a godsend to the JavaScript community but its Python code needs to be modernized, removed, or replaced with JavaScript, Go, etc. in the days remain until Python 2 end of life.
I don't really consider this a problem, because we don't use the scripts that are not compatible with Python 3.
If it is fixed at the V8 level (https://github.com/v8/v8), we will inherit that when we upgrade V8.
The next update will be to version 7.9: #30020
This test would crash on Python 3 but that seem like a simple fix that is not on the critical path.
./test/debugging/wasm/gdb-server/gdb_rsp.py:35:14: F821 undefined name 'xrange'
for i in xrange(int(timeout_in_seconds / poll_time_in_seconds)):
^
./test/debugging/wasm/gdb-server/gdb_rsp.py:67:8: F821 undefined name 'sys'
if sys.platform == 'win32':
^
IMO that should be tracked upstream, unless Node.js folks are actively working with V8 and Chromium to make the tools Python 3-compatible. Otherwise, as @targos mentioned, there's nothing we can do on our side.
It's also not a huge deal since it only affects folks building V8 through make-v8, which is limited to a subset of collaborators working on V8 upgrades on Node.js.
Activity
Trott commentedon Nov 26, 2018
PR has landed so I assume this can be closed. Comment (or re-open if GitHub allows) if I'm wrong about that! Thanks!!!
refack commentedon Nov 26, 2018
The files in
deps/v8andtools/inspector_protocol + jinja2 + markupsafewhere excluded from #24486. So this is still an issue.refack commentedon Nov 26, 2018
/CC @nodejs/v8 @nodejs/v8-inspector
FTR on 1.1.2020 Python 2 hits it's EOL https://pythonclock.org/
bmsdave commentedon Nov 28, 2018
If you do not mind.
I would like to try to take up this task.
I'll try it this weekend. If I have any problems, I'll write.
hashseed commentedon Nov 28, 2018
I definitely don't mind any contributions here. Do you have a list of scripts required by Node.js that need to be migrated?
cclauss commentedon Nov 28, 2018
There are now less that 400 days until the end of life of Python 2 (aka legacy Python). The v8 repo is just 1.4% Python but that is all legacy Python and at least 76 files need to be modified just to fix the print statement which is merely the start of a Python 3 port. v8 is a venerable codebase and I often hear that it has been a godsend to the JavaScript community but its Python code needs to be modernized, removed, or replaced with JavaScript, Go, etc. in the days remain until Python 2 end of life.
I would recommend that someone uses http://python-future.org to do the following:
bmsdave commentedon Nov 28, 2018
@hashseed I don't have that list. I was planning on finding it through the codebase. But if you provide it, it will be very cool.
@cclauss thank you very much for your clear recommendations. I will try to do it and provide for consideration.
alexkozy commentedon Nov 28, 2018
@bmsdave any changes to inspector_protocol should be upstreamed to inspector_protocol repo first. I can help you with it as soon as your are ready.
cclauss commentedon Dec 12, 2018
@ak239 @bmsdave @hashseed Some low hanging fruit in the upstream inspector_protocol repo.
flake8 testing of https://chromium.googlesource.com/deps/inspector_protocol on Python 3.7.1
48 remaining items
bmsdave commentedon Oct 28, 2019
How can we solve this problem?
Will updating v8 to node.js solve it?
Or can I make changes to this part https://github.com/nodejs/node/tree/master/deps/v8?
cclauss commentedon Oct 28, 2019
I think we need @targos and/or @Trott to weigh in on that.
targos commentedon Oct 28, 2019
I don't really consider this a problem, because we don't use the scripts that are not compatible with Python 3.
If it is fixed at the V8 level (https://github.com/v8/v8), we will inherit that when we upgrade V8.
The next update will be to version 7.9: #30020
cclauss commentedon Oct 28, 2019
https://github.com/v8/v8 passes these tests.
targos commentedon Oct 28, 2019
It's good that V8 itself is now compatible but other V8-related tools are not.
See https://ci.nodejs.org/job/node-test-commit-v8-linux/2590/nodes=benchmark-ubuntu1604-intel-64,v8test=v8test/console
By looking at https://github.com/GoogleCloudPlatform/gsutil,
gsutilseems to support Python 3 so maybe the version used bydepot_toolsis too old?aduh95 commentedon Apr 28, 2020
Should this issue stay open? I believe this issue is outdated as Node.js build chain is compatible with Python 3.
jasnell commentedon Apr 28, 2020
@nodejs/v8 @nodejs/build ... what do you think? There doesn't seem to be reason to keep this open?
cclauss commentedon Apr 28, 2020
This test would crash on Python 3 but that seem like a simple fix that is not on the critical path.
targos commentedon Apr 28, 2020
The issue is still valid. V8 build tools are not yet all compatible with Python 3:
I don't know if we should keep this open though, there's nothing we can do about it in Node.js.
mmarchini commentedon Apr 28, 2020
IMO that should be tracked upstream, unless Node.js folks are actively working with V8 and Chromium to make the tools Python 3-compatible. Otherwise, as @targos mentioned, there's nothing we can do on our side.
It's also not a huge deal since it only affects folks building V8 through make-v8, which is limited to a subset of collaborators working on V8 upgrades on Node.js.
cclauss commentedon Apr 28, 2020
@targos, What happens when you add the 3??
targos commentedon Apr 28, 2020
@cclauss nothing is printed, exits with code 0
ryzokuken commentedon Apr 29, 2020
Agreed with @targos and @mmarchini that this issue should be tracked upstream.