title: Node JS throwing error "Can't find Python Executable", even when python interpreter is accessible from project directory
body: <p>****I am working on a Node.Js project that requires Python for the application to run properly. After running the command "npm install" from my Node Project directory, the project threw an error that at first seemed simple to fix. "Can't Find Python Executable." After setting the Python environmental path 3 different ways, and successfully accessing my python interpreter from my project path, it is still throwing this error. But I can type "python" into my command line and pull up the interpreter. There is also another error being thrown regarding something called ELifecycle, which I am just clueless about even after googling and searching through StackOverflow. Here is the output code from my Command Line as reference. Also, I have edited the different paths with  or something like it, just because I don't like broadcasting to the world the pathways within my computer.****</p>
  
  <pre><code> C:\Users\&lt;myPATH&gt;\npm install
  Cannot download "https://github.com/sass/node-sass/releases/download/v3.13.1/win32-x64-57_binding.node":
  
  HTTP error 404 Not Found
  
  Hint: If github.com is not accessible in your location
        try setting a proxy via HTTP_PROXY, e.g.
  
        export HTTP_PROXY=http://example.com:1234
  
  or configure npm proxy via
  
        npm config set proxy http://example.com:8080
  gyp info it worked if it ends with ok
  gyp verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
  gyp verb cli   'C:\\Users\\&lt;path&gt;\\node-gyp.js',
  gyp verb cli   'rebuild',
  gyp verb cli   '--verbose',
  gyp verb cli   '--libsass_ext=',
  gyp verb cli   '--libsass_cflags=',
  gyp verb cli   '--libsass_ldflags=',
  gyp verb cli   '--libsass_library=' ]
  gyp info using node-gyp@3.6.2
  gyp info using node@8.9.4 | win32 | x64
  gyp verb command rebuild []
  gyp verb command clean []
  gyp verb clean removing "build" directory
  gyp verb command configure []
  gyp verb check python checking for Python executable "C:\Program Files\Python\Python36\;C:\Program Files\Python\Python36\python.exe;"C:\Program Files\Python\Python36\python.exe"" in the PATH
  gyp verb `which` failed Error: not found: C:\Program Files\Python\Python36\;C:\Program Files\Python\Python36\python.exe;"C:\Program Files\Python\Python36\python.exe"
  gyp verb `which` failed     at getNotFoundError C:\Users\&lt;myUserName&gt;\Desktop\Work\&lt;Project&gt;\node_modules\which\which.js:13:12)
  gyp verb `which` failed     at F C:\Users\&lt;myUserName&gt;\Desktop\Work\&lt;Project&gt;\node_modules\which\which.js:68:19)
  gyp verb `which` failed     at E C:\Users\&lt;myUserName&gt;\Desktop\Work\&lt;Project&gt;\node_modules\which\which.js:80:29)
  gyp verb `which` failed     at C:\Users\&lt;myUserName&gt;\Desktop\Work\&lt;Project&gt;\node_modules\which\which.js:89:16
  gyp verb `which` failed     at C:\Users\&lt;myUserName&gt;\Desktop\Work\&lt;Project&gt;\node_modules\isexe\index.js:42:5
  gyp verb `which` failed     at C:\Users\&lt;myUserName&gt;\Desktop\Work\&lt;Project&gt;\node_modules\isexe\windows.js:36:5
  gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:152:21)
  gyp verb `which` failed  C:\Program Files\Python\Python36\;C:\Program Files\Python\Python36\python.exe;"C:\Program Files\Python\Python36\python.exe" { Error: not found: C:\Program Files\Python\Python36\;C:\Program Files\Python\Python36\python.exe;"C:\Program Files\Python\Python36\python.exe"
  gyp verb `which` failed     at getNotFoundError C:\Users\&lt;myUserName&gt;\Desktop\Work\&lt;Project&gt;\node_modules\which\which.js:13:12)
  gyp verb `which` failed     at F C:\Users\&lt;myUserName&gt;\Desktop\Work\&lt;Project&gt;\node_modules\which\which.js:68:19)
  gyp verb `which` failed     at E C:\Users\&lt;myUserName&gt;\Desktop\Work\&lt;Project&gt;\node_modules\which\which.js:80:29)
  gyp verb `which` failed     at C:\Users\&lt;myUserName&gt;\Desktop\Work\&lt;Project&gt;\node_modules\which\which.js:89:16
  gyp verb `which` failed     at C:\Users\&lt;myUserName&gt;\Desktop\Work\&lt;Project&gt;\node_modules\isexe\index.js:42:5
  gyp verb `which` failed     at C:\Users\&lt;myUserName&gt;\Desktop\Work\&lt;Project&gt;\node_modules\isexe\windows.js:36:5
  gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:152:21)
  gyp verb `which` failed   stack: 'Error: not found: C:\\Users\\&lt;path&gt;\\Programs\\Python\\Python36\\;C:\\Users\\&lt;path&gt;\\Programs\\Python\\Python36\\python.exe;"C:\\Users\\&lt;path&gt;\\Programs\\Python\\Python36\\python.exe"\n    at getNotFoundError (C:\\Users\\&lt;project path&gt;\\node_modules\\which\\which.js:13:12)\n    at F (C:\\Users\\&lt;project path&gt;\\node_modules\\which\\which.js:68:19)\n    at E (C:\\Users\\&lt;project path&gt;\\node_modules\\which\\which.js:80:29)\n    at C:\\Users\\&lt;project path&gt;\\node_modules\\which\\which.js:89:16\n    at C:\\Users\\&lt;project path&gt;\\node_modules\\isexe\\index.js:42:5\n    at C:\\Users\\&lt;project path&gt;\\node_modules\\isexe\\windows.js:36:5\n    at FSReqWrap.oncomplete (fs.js:152:21)',
  gyp verb `which` failed   code: 'ENOENT' }
  gyp verb could not find "C:\Program Files\Python\Python36\;C:\Program Files\Python\Python36\python.exe;"C:\Program Files\Python\Python36\python.exe"". checking python launcher
  gyp verb could not find "C:\Program Files\Python\Python36\;C:\Program Files\Python\Python36\python.exe;"C:\Program Files\Python\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\Python\Python36\;C:\Program Files\Python\Python36\python.exe;"C:\Program Files\Python\Python36\python.exe"", you can set the PYTHON env variable.
  gyp ERR! stack     at PythonFinder.failNoPython (C:\Users\&lt;project path&gt;\node_modules\node-gyp\lib\configure.js:483:19)
  gyp ERR! stack     at PythonFinder.&lt;anonymous&gt; (C:\Users\&lt;project path&gt;\node_modules\node-gyp\lib\configure.js:508:16)
  gyp ERR! stack     at C:\Users\&lt;project path&gt;\node_modules\graceful-fs\polyfills.js:284:29
  gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:152:21)
  gyp ERR! System Windows_NT 10.0.16299
  gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\&lt;project Path&gt;\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
  gyp ERR! cwd C:\Users\&lt;project path&gt;\node_modules\node-sass
  gyp ERR! node -v v8.9.4
  gyp ERR! node-gyp -v v3.6.2
  gyp ERR! not ok
  Build failed with error code: 1
  npm WARN redux-form@6.8.0 requires a peer of react@^15.0.0 but none is installed. You must install peer dependencies yourself.
  npm WARN upstar_music@1.0.0 No description
  npm WARN upstar_music@1.0.0 No repository field.
  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules\fsevents):
  npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
  
  npm ERR! code ELIFECYCLE
  npm ERR! errno 1
  npm ERR! node-sass@3.13.1 postinstall: `node scripts/build.js`
  npm ERR! Exit status 1
  npm ERR!
  npm ERR! Failed at the node-sass@3.13.1 postinstall script.
  npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
  
  npm ERR! A complete log of this run can be found in:
  npm ERR!     C:\Users\&lt;myUSERName&gt;\AppData\Roaming\npm-cache\_logs\2018-03-23T22_07_09_160Z-debug.log
  </code></pre>
  
  <p>I am installing a lot of different node packages in order to run a pre-created program that is from my coding instructor. There are two particular pieces of the output that I don't understand how to resolve. The first is regarding "setting the PYTHON env variable," and the second is regarding something called "ELIFECYCLE" which I have never heard of. Here is what I have already done in trying to resolve these two problems:</p>
  
  <p>1) I have already installed Python, the Python version is Python 3.6.4 dated "Dec 19 2017". from the location of my node project I can already enter "python" into the command line and the Python interpreter appears: 'Python 3.6.4 (v3.6.4 ....... etc) on win32. Type "help", "copyright" or "license" for more information"'.
     - Now this is where the first error doesn't make sense to me. How can it not find the Python executable, when I can clearly enter Python and bring up the interpreter??? What am I not understanding??? Clearly I have something wrong, but I am at a loss as to what.</p>
  
  <p>2) I have tried multiple different ways of installing python and setting the path, 3 actually. the first, using the "set" command in the CMD window (this doesn't work the way I would like because I have to set that parameter every time I open the CMD line. Second, I set it using the Control Panel, I could pull up the PYthon interpreter after doing that as well. The third, I uninstalled Python and while I was doing a clean install I checked the box "add python to system variable". Since then I have had no problem running my python interpreter from the CMD line.</p>
  
  <p>3) I have searched through Stack Overflow at the many different questions about this particular error, of which there appear many, but the solutions that were upvoted using any of the 3 methods that I have already gone through, haven't worked for me. And, it appears that the other questions that have been asked were resolved simply because they couldn't bring their python interpreter from their project path (which I can do). So, I am just not sure if the Command Line is recognizing the error correctly or something. (I dunno, I am a complete noob with regards to these things).</p>
  
  <p>4) I have searched on the internet about what "ElifeCycle is".... but I was unable to figure out what that error is referring to at all.</p>
  
  <p>So I hope that you guys can help me resolve these two questions regarding the Python error and the "ELIFECYCLE" error that is outlined in my command line output above.</p>
  
  <p>Thank you so much for taking the time to read this. I know it is probably just something simple. But I am at the end of my rope here. I have spent 5+ hours trying to figure this out and nothing is working. Thank you!</p>