Skip to content

Commit

Permalink
lib: accept Python 3 by default
Browse files Browse the repository at this point in the history
PR-URL: nodejs#1844
  • Loading branch information
joaocgreis committed Sep 30, 2019
1 parent 8e9ec3b commit 167b563
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 9 deletions.
12 changes: 6 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,25 +31,25 @@ matrix:

- name: "Node.js 6 & Python 3.7 on Linux"
python: 3.7
env: NODE_GYP_FORCE_PYTHON=python3 EXPERIMENTAL_NODE_GYP_PYTHON3=1
env: NODE_GYP_FORCE_PYTHON=python3
before_install: nvm install 6
- name: "Node.js 8 & Python 3.7 on Linux"
python: 3.7
env: NODE_GYP_FORCE_PYTHON=python3 EXPERIMENTAL_NODE_GYP_PYTHON3=1
env: NODE_GYP_FORCE_PYTHON=python3
before_install: nvm install 8
- name: "Node.js 10 & Python 3.7 on Linux"
python: 3.7
env: NODE_GYP_FORCE_PYTHON=python3 EXPERIMENTAL_NODE_GYP_PYTHON3=1
env: NODE_GYP_FORCE_PYTHON=python3
before_install: nvm install 10
- name: "Node.js 12 & Python 3.7 on Linux"
python: 3.7
env: NODE_GYP_FORCE_PYTHON=python3 EXPERIMENTAL_NODE_GYP_PYTHON3=1
env: NODE_GYP_FORCE_PYTHON=python3
before_install: nvm install 12
- name: "Python 3.7 on macOS"
os: osx
#osx_image: xcode11
language: shell # 'language: python' is not yet supported on macOS
env: NODE_GYP_FORCE_PYTHON=python3 EXPERIMENTAL_NODE_GYP_PYTHON3=1
env: NODE_GYP_FORCE_PYTHON=python3
before_install: HOMEBREW_NO_AUTO_UPDATE=1 brew install npm
- name: "Node.js 12 & Python 3.7 on Windows"
os: windows
Expand All @@ -58,7 +58,6 @@ matrix:
env: >-
PATH=/c/Python37:/c/Python37/Scripts:$PATH
NODE_GYP_FORCE_PYTHON=/c/Python37/python.exe
EXPERIMENTAL_NODE_GYP_PYTHON3=1
before_install: choco install python

install:
Expand All @@ -71,6 +70,7 @@ before_script:
# exit-zero treats all errors as warnings. Two space indentation is OK. The GitHub editor is 127 chars wide
- flake8 . --count --exit-zero --ignore=E111,E114,W503 --max-complexity=10 --max-line-length=127 --statistics
- npm install
- npm list
script:
- node -e 'require("npmlog").level="verbose"; require("./lib/find-python")(null,()=>{})'
- npm test
Expand Down
10 changes: 7 additions & 3 deletions lib/find-python.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ PythonFinder.prototype = {
log: logWithPrefix(log, 'find Python'),
argsExecutable: [ '-c', 'import sys; print(sys.executable);' ],
argsVersion: [ '-c', 'import sys; print("%s.%s.%s" % sys.version_info[:3]);' ],
semverRange: process.env.EXPERIMENTAL_NODE_GYP_PYTHON3 ? '2.7.x || >=3.5.0'
: '>=2.7.0 <3.0.0',
semverRange: '2.7.x || >=3.5.0',

// These can be overridden for testing:
execFile: cp.execFile,
Expand Down Expand Up @@ -93,6 +92,11 @@ PythonFinder.prototype = {
check: this.checkCommand,
arg: 'python'
},
{
before: () => { this.addLog('checking if "python3" can be used') },
check: this.checkCommand,
arg: 'python3'
},
{
before: () => { this.addLog('checking if "python2" can be used') },
check: this.checkCommand,
Expand Down Expand Up @@ -286,7 +290,7 @@ PythonFinder.prototype = {
// X
const info = [
'**********************************************************',
'You need to install the latest version of Python 2.7.',
'You need to install the latest version of Python.',
'Node-gyp should be able to find and use Python. If not,',
'you can try one of the following options:',
`- Use the switch --python="${pathExample}"`,
Expand Down

0 comments on commit 167b563

Please sign in to comment.