Skip to content
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

Support for Python 3 #193

Closed
mcandre opened this issue Feb 12, 2013 · 60 comments
Closed

Support for Python 3 #193

mcandre opened this issue Feb 12, 2013 · 60 comments
Labels

Comments

@mcandre
Copy link

mcandre commented Feb 12, 2013

Please add support for Python 3.

Some tools require Python 2, some require Python 3, and this makes it really hard to setup a build environment. Better to support both when possible.

@TooTallNate
Copy link
Contributor

Ditto on #194: this is an issue with upstream gyp, and in fact they are aware of the problem: http://code.google.com/p/gyp/issues/detail?id=36

Go make some noise in that issue if you want to see Python 3 supported (or better yet, send the patch!).

@CamiloMM
Copy link

As someone who doesn't do Python: why is there still so much incompatibility? Python 3.0 was released on 2008 and has a lot of advantages over 2.x, so why does 2.x still hold so much predominance?

@unbornchikken
Copy link

I've started a petition, you can sign it there: https://www.change.org/petitions/google-inc-upgrade-gyp-to-support-phyton-3

@mcandre
Copy link
Author

mcandre commented Aug 14, 2014

@unbornchikken Er, you may want to correct a typo in the petition: "Phyton 3".

@CamiloMM
Copy link

@unbornchikken Is everything a petition nowadays...? Nevermind, signed.
watt-can-you-do-sign-the-petition

@mcandre Well, that's because he's phyton for it.

@unbornchikken
Copy link

typo fixed. never start a petition after midnight.

meme idea: i do petitions instead of PRs 😊

@TooTallNate
Copy link
Contributor

I appreciate the sentiment, but I believe Google is going to be focusing their time on gn these days. They have plans to phase out gyp before the end of 2014. I'm looking for some time/motivation to write node-gn 😄

@unbornchikken
Copy link

hm, should i start a new petition? 😊

i think it's maximum a couple days of work to update gyp scripts to p3, it can be done if they care. the problem is that v8 guys are thinking in v8 even today, but there is a mutch larger dependent platform to care, but they don't. i can understand, they got dollars for v8 not for node. maybe online activity like petitions will wake up their bosses, and give guys some days to patch shit up.

@unbornchikken
Copy link

For motivation: start a repo, and put a Donate button in the readme. You will be suprised. ;)

@CamiloMM
Copy link

@TooTallNate Then you'll just have to make massive pull requests for each package out there that uses node-gyp. No biggie :)

(On all honesty, I'm rooting for something better to come along).

@unbornchikken
Copy link

coz da petition didnt help: https://github.com/unbornchikken/cmake-js

@untitaker
Copy link

Please try to use env python2. The current version of node-gyp completely breaks on distributions that have their default Python binary set to Python 3.

@demurgos
Copy link

Looks like they are working on it.

https://codereview.chromium.org/1454433002

@bendavis78
Copy link
Contributor

Is there any reason why node-gyp can't autodetect the location of python2 and use that to run gyp?

@bnoordhuis
Copy link
Member

@bendavis78 It does, it looks for python2 first before falling back to python. On Windows, it also looks in well-known locations and consults the python launcher when available.

@mikemaccana
Copy link

mikemaccana commented May 21, 2016

This just hit me too trying node on Windows for the first time (first time on Windows that is, have been using node since 0.6).

npm install node-gyp asked for Python, I installed the current version of Python. Then it complains about python 3.

@stochastic-thread
Copy link

this is so annoying

@refack
Copy link
Contributor

refack commented Apr 23, 2017

You're all missing the point 😉
The real goal is to remove the dependency on python completely #960

@CamiloMM
Copy link

CamiloMM commented Apr 23, 2017 via email

@maxkoryukov
Copy link

maxkoryukov commented Apr 23, 2017

@refack, we all missing the point? Lets look at things globally: #960 is about coding for tiny PYTHON interpreter in JAVASCRIPT ;)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░▄▄███▄▄▄░▄▄██▄░░░░░░░
░░░░░░░░░██▀███████████████▀▀▄█░░░░░░
░░░░░░░░█▀▄▀▀▄██████████████▄░░█░░░░░
░░░░░░░█▀▀░▄██████████████▄█▀░░▀▄░░░░
░░░░░▄▀░░░▀▀▄████████████████▄░░░█░░░
░░░░░▀░░░░▄███▀░░███▄████░████░░░░▀▄░
░░░▄▀░░░░▄████░░▀▀░▀░░░░░░██░▀▄░░░░▀▄
░▄▀░░░░░▄▀▀██▀░░░░░▄░░▀▄░░██░░░▀▄░░░░
█░░░░░█▀░░░██▄░░░░░▀▀█▀░░░█░░░░░░█░░░
█░░░▄▀░░░░░░██░░░░░▀██▀░░█▀▄░░░░░░▀▀▀
▀▀▀▀░▄▄▄▄▄▄▀▀░█░░░░░░░░░▄█░░█▀▀▀▀▀█░░
░░░░█░░░▀▀░░░░░░▀▄░░░▄▄██░░░█░░░░░▀▄░
░░░░█░░░░░░░░░░░░█▄▀▀▀▀▀█░░░█░░░░░░█░
░░░░▀░░░░░░░░░░░░░▀░░░░▀░░░░▀░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

Of course, Node.JS is not the same as javascript.


Hmm, sign the petition is not a bad idea though))

@mcandre
Copy link
Author

mcandre commented Mar 12, 2019

With the rise of WASM do we really need to support native libraries in Node projects any longer

@JamesMGreene
Copy link

@mcandre I'm no WAsm expert but, as I understand it, WebAssembly modules are sandboxed in a way that many existing native modules could not function within. 🔒

Furthermore, there is a large collection of existing native modules that would either need to be converted or else cease to be officially supported. 😬

@VergLsm
Copy link

VergLsm commented May 19, 2019

It's 2019-5-19, still Python 2.

@osljw
Copy link

osljw commented May 24, 2019

Wow, It's been six years.

@ORESoftware
Copy link
Contributor

ORESoftware commented May 24, 2019

Why not just ditch Python? Python sucks anyway. Let us ditch Python 2 and Python 3.

@shirshak55
Copy link

haha :( 😂 😆

People still use python2... :( python2 should have been removed from universe earlier so we don't have to face this problem :/

@devinbost
Copy link

What is the block here? There's a tool for AUTOMATED migration to Python 3: https://docs.python.org/2/library/2to3.html
It's part of the core Python library itself!

@filips123
Copy link

@devinbost Unfortunately, that tool only migrates some parts of the code. Some bigger breaking changes then still need to be fixed manually.

@kumarharsh
Copy link

Hold your horses! It seems like something is afoot: 66ad305

@alexdevero
Copy link

@kumarharsh Now way 🤞!

@cclauss
Copy link
Contributor

cclauss commented Jul 11, 2019

The Python 3 tests are currently run in allow_failures mode: https://travis-ci.com/nodejs/node-gyp

If we can get those test to be green and drop the allow_failures mode then we can 🚀 🎉 🍾

Please review any Python pull requests and provide fixes for the failing tests if you can.

@shirshak55
Copy link

Finally after 6 years :)

@sbrl
Copy link

sbrl commented Jul 16, 2019

and not a moment too soon.

Warning: Python 2 will be retired on 1st January 2020: https://pythonclock.org/

@gluons
Copy link

gluons commented Sep 9, 2019

Time to shed Python 2 by UK The National Cyber Security Centre

@ucodelukas
Copy link

kill py2

@zabiksandbox
Copy link

2024, still here.

@refack
Copy link
Contributor

refack commented Sep 13, 2024

The node.js OpenJS Foundation has explicitly chosen other priorities over this. Please voice you complaint to them.
https://projects.propublica.org/nonprofits/organizations/471491876/202313179349304446/full

@mcandre
Copy link
Author

mcandre commented Sep 14, 2024

A notable alternative is to use Go code rather than Python. Go dramatically reduces the need for native C/C++ code in the first place. And Go has builtin support for FFI via cgo.

Don't use interpreted programming languages that blow up in production on variable name typos at runtime in 2024.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests