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

tools: windows_boxstarter: "choco install python -y" for Python 3 #26424

Merged
merged 1 commit into from
Mar 26, 2019

Conversation

cclauss
Copy link
Contributor

@cclauss cclauss commented Mar 4, 2019

As suggested at #25789 (comment)

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines

@nodejs-github-bot nodejs-github-bot added the tools Issues and PRs related to the tools directory. label Mar 4, 2019
@refack refack added the windows Issues and PRs related to the Windows platform. label Mar 4, 2019
@bzoz
Copy link
Contributor

bzoz commented Mar 4, 2019

I would hold with that until all other Python 3 tasks are completed.

@cclauss
Copy link
Contributor Author

cclauss commented Mar 4, 2019

Why do people want to wait? Everyone seems to have their favorite fix that they want us to hold off doing until tomorrow. 303 days until Python 2 end of life.

@bzoz
Copy link
Contributor

bzoz commented Mar 4, 2019

Is there a reason for installing two different versions of Python?

@cclauss cclauss force-pushed the patch-3 branch 2 times, most recently from 8a20dc4 to e941e55 Compare March 4, 2019 18:52
@cclauss
Copy link
Contributor Author

cclauss commented Mar 4, 2019

Yes. It is commonly done around the planet. In this instance, it gives our users the ability to test out node running on both Python and legacy Python. It is also done at nodejs/build#1644 on the node build machines and on all Travis CI xenial images.

MacOS: brew install python python@2
Windows: choco install python python2

Most Linux distros already include both Python and legacy Python (if they still ship with Python 2 at all) but just in case, commands like sudo apt install python3.7 python2.7 will work.

@bzoz
Copy link
Contributor

bzoz commented Mar 4, 2019

IMHO this boxstarter script is for people who just want to be able to install native modules (as it is tied to a checkbox in installer), the "general public", not the developers. I think it should be kept minimal. Unless both Python versions are needed to build Node or native addons, we should stick to installing one version.

@richardlau
Copy link
Member

richardlau commented Mar 4, 2019

IMHO this boxstarter script is for people who just want to be able to install native modules (as it is tied to a checkbox in installer), the "general public", not the developers. I think it should be kept minimal. Unless both Python versions are needed to build Node or native addons, we should stick to installing one version.

That's not quite correct. This BoxStarter script is part of https://github.com/nodejs/node/tree/e941e556244ccea7bf46a76d1d18f865b73d3ea8/tools/bootstrap (linked to from https://github.com/nodejs/node/blob/e941e556244ccea7bf46a76d1d18f865b73d3ea8/BUILDING.md#building-nodejs-on-supported-platforms) and is for setting developers up for building Node.js (e.g. it installs nasm which is used for building openssl).

The checkbox in the installer for the "general public" doesn't use BoxStarter anymore and calls Chocolatey directly: https://github.com/nodejs/node/blob/e941e556244ccea7bf46a76d1d18f865b73d3ea8/tools/msvs/install_tools/install_tools.bat.

Copy link
Contributor

@bzoz bzoz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this case LGTM.

@BridgeAR
Copy link
Member

BridgeAR commented Mar 5, 2019

@BridgeAR BridgeAR added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Mar 5, 2019
@BridgeAR
Copy link
Member

BridgeAR commented Mar 6, 2019

@nodejs/python @nodejs/platform-windows @nodejs/build-files @nodejs/tooling PTAL. This could use another review.

Copy link
Contributor

@bzoz bzoz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, could you also update https://github.com/nodejs/node/blob/master/tools/bootstrap/README.md ? With note about reasons for having twon Python versions.

@BridgeAR BridgeAR removed the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Mar 8, 2019
tools/bootstrap/README.md Outdated Show resolved Hide resolved
tools/bootstrap/README.md Outdated Show resolved Hide resolved
@vsemozhetbyt vsemozhetbyt added the python PRs and issues that require attention from people who are familiar with Python. label Mar 19, 2019
tools/bootstrap/README.md Outdated Show resolved Hide resolved
Python 2 will reach its _end-of-life_ at the end of 2019. Afterwards, the
interpreter will not get updates -- no bugfixes, no security fixes, nothing. In
the interim, the Python ecosystem is abandoning 2.7 support.
https://python3statement.org/ In order to remain safe and current the Node.js
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this URL be hidden in a link?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope.

tools/bootstrap/README.md Outdated Show resolved Hide resolved
@cclauss
Copy link
Contributor Author

cclauss commented Mar 20, 2019

@refack, @targos, @rvagg, @mhdawson Your reviews please? We need to get Python 3 onto the build machines and developer sandboxes so we can do complete testing.

@rvagg
Copy link
Member

rvagg commented Mar 20, 2019

happy to defer to judgement of @bzoz and @cclauss combined on this, if you're both happy with this approach then I'm +1

@BridgeAR BridgeAR added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Mar 25, 2019
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

PR-URL: nodejs#26424
Refs: nodejs#25789 (comment)
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
@refack refack merged commit 6df9f84 into nodejs:master Mar 26, 2019
@cclauss cclauss deleted the patch-3 branch March 26, 2019 22:50
targos pushed a commit to targos/node that referenced this pull request Mar 27, 2019
PR-URL: nodejs#26424
Refs: nodejs#25789 (comment)
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
targos pushed a commit that referenced this pull request Mar 27, 2019
PR-URL: #26424
Refs: #25789 (comment)
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author ready PRs that have at least one approval, no pending requests for changes, and a CI started. python PRs and issues that require attention from people who are familiar with Python. tools Issues and PRs related to the tools directory. windows Issues and PRs related to the Windows platform.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants