Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jhipster - gyp verb `which` failed Error: not found: python2

Below is the error that I get, when I try to generate a new project with JHipster:

gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` succeeded python C:\Program Files\Python36\python.EXE
gyp verb check python version `C:\Program Files\Python36\python.EXE -c "import platform; print(platform.python_version());"` returned: "3.6.4\r\n"
gyp verb could not find "C:\Program Files\Python36\python.EXE". checking python launcher
gyp verb could not find "C:\Program Files\Python36\python.EXE". guessing location
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "C:\Program Files\Python36\python.EXE", you can set the PYTHON env variable.

The rest is the stacktrace. The weird thing is I do have python installed and the environment variable is also set. My python version is "Python 3.6.4". Should I run it in Python 2? Is that the case?

like image 501
leventunver Avatar asked Feb 24 '18 19:02

leventunver


3 Answers

Just a note for anyone using React and facing the same error on Linux (Ubuntu):

Step 1: Install python 2.7

  • something similar to this
     sudo apt update
     sudo apt install python2-minimal
    

Step 2: Install make or just build-essential

  • something like:
    sudo apt-get install build-essential
    

Then you can proceed with your previous activity...

like image 146
briancollins081 Avatar answered Nov 19 '22 18:11

briancollins081


Yes node-gyp requires Python 2.7, so you could try the answers to this question.

Alternatively, if you encounter this problem, it is probably due to node-sass and if you did not select Sass in JHipster options, you don't need it but still you get it because it's a transitive dependency from Angular, you can skip it by setting environment variables:

set SKIP_SASS_BINARY_DOWNLOAD_FOR_CI=true
set SKIP_NODE_SASS_TESTS=true

Another alternative is to use JHipster devbox.

like image 35
Gaël Marziou Avatar answered Nov 19 '22 18:11

Gaël Marziou


There is another workaround to this error:

  1. Delete your node_modules folder.
  2. Run npm install --global windows-build-tools --save in your command prompt.
  3. Install node-sass using the command: npm install [email protected] --save (or the latest version)

This should solve the error and return you a gyp info ok message!

If you encounter Node Sass could not find a binding for your current environment, resolve it by running:

npm rebuild node-sass

like image 11
Steffi Keran Rani J Avatar answered Nov 19 '22 20:11

Steffi Keran Rani J