variable - windows build tools python path




Node.js 종속성을 위해 Windows에서 Python 실행하기 (10)

NPM, 즉 jQuery를 통해 몇 가지 종속성을 다운로드해야하는 Node.js 코드베이스에 들어가고 있습니다.

npm install jquery 를 실행하려고 시도 할 때 계속이 오류가 발생합니다.

Your environment has been set up for using Node.js 0.8.21 (x64) and NPM

C:\Users\Matt Cashatt>npm install jquery
npm http GET https://registry.npmjs.org/jquery
npm http 304 https://registry.npmjs.org/jquery
npm http GET https://registry.npmjs.org/jsdom
npm http GET https://registry.npmjs.org/xmlhttprequest
npm http GET https://registry.npmjs.org/htmlparser/1.7.6
npm http GET https://registry.npmjs.org/location/0.0.1
npm http GET https://registry.npmjs.org/navigator
npm http GET https://registry.npmjs.org/contextify
npm http 304 https://registry.npmjs.org/htmlparser/1.7.6
npm http 304 https://registry.npmjs.org/xmlhttprequest
npm http 304 https://registry.npmjs.org/location/0.0.1
npm http 304 https://registry.npmjs.org/navigator
npm http 304 https://registry.npmjs.org/jsdom
npm http 304 https://registry.npmjs.org/contextify
npm http GET https://registry.npmjs.org/bindings
npm http GET https://registry.npmjs.org/cssom
npm http GET https://registry.npmjs.org/cssstyle
npm http GET https://registry.npmjs.org/request
npm http 304 https://registry.npmjs.org/bindings

> [email protected] install C:\Users\Matt Cashatt\node_modules\jquery\node_module
s\contextify
> node-gyp rebuild


C:\Users\Matt Cashatt\node_modules\jquery\node_modules\contextify>node "C:\Progr
am Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\b
in\node-gyp.js" rebuild
npm http 304 https://registry.npmjs.org/cssstyle
npm http 304 https://registry.npmjs.org/cssom
npm http 304 https://registry.npmjs.org/request
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYT
HON env variable.
gyp ERR! stack     at failNoPython (C:\Program Files\nodejs\node_modules\npm\nod
e_modules\node-gyp\lib\configure.js:113:14)
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node
-gyp\lib\configure.js:82:11
gyp ERR! stack     at Object.oncomplete (fs.js:297:15)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modu
les\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Matt Cashatt\node_modules\jquery\node_modules\contextify
gyp ERR! node -v v0.8.21
gyp ERR! node-gyp -v v0.8.4
gyp ERR! not ok
npm ERR! error rolling back Error: ENOTEMPTY, rmdir 'C:\Users\Matt Cashatt\node_
modules\jquery\node_modules\jsdom\node_modules\request\tests'
npm ERR! error rolling back  [email protected] { [Error: ENOTEMPTY, rmdir 'C:\Users\M
att Cashatt\node_modules\jquery\node_modules\jsdom\node_modules\request\tests']
npm ERR! error rolling back   errno: 53,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   path: 'C:\\Users\\Matt Cashatt\\node_modules\\jque
ry\\node_modules\\jsdom\\node_modules\\request\\tests' }
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! `cmd "/c" "node-gyp rebuild"` failed with 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the contextify package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls contextify
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "jquery"
npm ERR! cwd C:\Users\Matt Cashatt
npm ERR! node -v v0.8.21
npm ERR! npm -v 1.2.11
npm ERR! code ELIFECYCLE
npm ERR! Error: ENOENT, lstat 'C:\Users\Matt Cashatt\node_modules\jquery\node_mo
dules\jsdom\node_modules\request\tests\test-pipes.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "jquery"
npm ERR! cwd C:\Users\Matt Cashatt
npm ERR! node -v v0.8.21
npm ERR! npm -v 1.2.11
npm ERR! path C:\Users\Matt Cashatt\node_modules\jquery\node_modules\jsdom\node_
modules\request\tests\test-pipes.js
npm ERR! fstream_path C:\Users\Matt Cashatt\node_modules\jquery\node_modules\jsd
om\node_modules\request\tests\test-pipes.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack C:\Program Files\nodejs\node_modules\npm\node_modules\fst
ream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:297:15)
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Users\Matt Cashatt\npm-debug.log
npm ERR! not ok code 0

C:\Users\Matt Cashatt>

실패는 Python 설치가 누락 된 것 같습니다. 글쎄, 파이썬을 설치하고, 변수를 설정하고, 재부팅했다가 여전히 오류가 발생했다.

제가 실종 된 것에 대한 단서가 있습니까?


gyp ERR! 오류 gyp ERR을 구성하십시오! 스택 오류 : Python 실행 파일 "python"을 찾을 수 없습니다. PYT HON ​​env 변수를 설정할 수 있습니다.

다시 설치할 필요는 없지만이 예외는 node-gyp 스크립트에 의해 던져진 다음 재 구축을 시도합니다. 필자의 경우처럼 설치 환경 변수가 충분합니다.

SET PYTHON=C:\work\_env\Python27\python.exe

Cygwin에서 이것을 사용하려고한다면 this 답변의 지시 사항을 따라야합니다. Cygwin에서 Windows 심볼릭 링크를 처리하는 방법에 문제가 있습니다.


나는 똑같은 문제가 있었지만이 답변들 중 어느 것도 도움이되지 못했습니다. 필자의 경우 PYTHON 변수가 올바르게 설정되었습니다. 그러나 파이썬은 너무 깊게 설치되었으므로 경로가 너무 길어졌습니다. 그래서, 나는 다음과 같이했다 :

  1. 파이썬을 c : \ python에 다시 설치했습니다.
  2. 환경 변수 PYTHON을 C : \ python \ python.exe로 설정하십시오.

그리고 그게 다야!




다음은 올바른 명령입니다 : set path = % path %; C : \ Python34 [Python 설치의 올바른 경로로 바꾸기]

나는 똑같은 문제가 있었고 방금 이렇게 해결했습니다.

다른 사람들이 지적했듯이, 이것은 휘발성 구성이며 현재 cmd 세션에서만 작동하며 npm install을 실행하기 전에 경로를 설정해야합니다.

이게 도움이 되길 바란다.


모든 노드 - gyp 의존성과 함께 python을 설치하지 않았다면 Powershell 또는 Git Bash를 관리자 권한으로 열어 다음을 실행하십시오.

npm install --global --production windows-build-tools

그런 다음 패키지를 설치하십시오.

npm install --global node-gyp

일단 설치되면 모든 노드 - gyp 종속성이 다운로드되지만 여전히 환경 변수가 필요합니다. 유효성 검사 Python은 실제로 올바른 폴더에 있습니다.

C:\Users\ben\.windows-build-tools\python27\python.exe 

참고 - 지원되지 않으므로 3.x가 아닌 python 2.7을 사용합니다.

신음 소리가 들리지 않으면 계속해서 (사용자) 환경 변수를 만드십시오.

setx PYTHON "%USERPROFILE%\.windows-build-tools\python27\python.exe"

cmd를 재시작하고 변수를 리턴해야하는 set PYTHON 을 통해 변수가 존재하는지 확인하십시오.

마지막으로 npm install <module> 다시 적용하십시오.


문제는 환경 변수를 설정 하지 않았다는 것 입니다.

오류는 분명히 이것을 말한다 :

gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.

그리고 귀하의 의견에, 당신은 당신이 이렇게했다고 :

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

좋습니다,하지만 PYTHON 변수를 설정하지 않습니다. PYTHONPATH 변수를 설정합니다.

그 동안 set 명령을 사용하는 것만으로 현재 cmd 세션에 영향을 미칩니다. 그 후에 다시 부팅하면, 그랬듯이 그 변수가 설정되지 않은 완전히 새로운 cmd 세션이 cmd .

환경 변수를 영구적으로 설정하는 몇 가지 방법이 있습니다. 가장 쉬운 방법은 XP의 시스템 제어판에서입니다. Vista에서는 물론 7에서 다르고 8에서 다시 달라 지지만, Google에서는이 방법을 사용할 수 있습니다.

또는, npm 명령 바로 앞에 set 하고 그 사이에 재부팅하지 않아도됩니다.

config 스크립트가 수행하려고하는 것과 똑같은 작업을 수행하여 올바르게 수행되었는지 테스트 할 수 있습니다. npm 실행하기 전에 %PYTHON% 실행 해보십시오. 올바르게 작성했다면 Python 인터프리터를 사용할 수 있습니다 (즉시 종료 할 수 있음). 오류가 발생하면 올바르게 완료하지 않은 것입니다.

이 문제에는 두 가지 문제가 있습니다.

set PYTHON=%PYTHON%;D:\Python

먼저 PYTHON;D:\Python 합니다. 이 여분의 세미콜론은 PATH 또는 PYTHONPATH 와 같이 경로의 세미콜론으로 구분 된 목록에는 적합하지만 PYTHON 과 같은 단일 값에는 적합하지 않습니다. 마찬가지로 기존 값에 새 값을 추가하는 것은 경로 목록에 다른 경로를 추가하려고하지만 하나의 값을 추가하지 않을 때 원하는 값을 추가하는 것입니다. 따라서 set PYTHON=D:\Python 만하면됩니다.

둘째, D:\Python 은 파이썬 인터프리터의 경로가 아닙니다. D:\Python\Python.exe 또는 D:\Python\bin\Python.exe . 올바른 경로를 찾아서 자체적으로 작동하는지 확인하십시오 (예 D:\Python\bin\Python.exe 한 다음 파이썬 인터프리터를 D:\Python\bin\Python.exe ). 그런 다음 변수를 설정하고 사용하십시오.

그래서:

set PYTHON=D:\Python\bin\Python.exe

또는 영구적으로 만들려면 제어판에서 해당 기능을 수행하십시오.


이 문제를 해결할 수있는 해결책이 있습니다. 1) 명령 프롬프트를 "administrator"로 실행하십시오.

첫 번째 해결 방법으로 문제가 해결되지 않으면 다음을 시도하십시오.

2) 명령 줄 프롬프트를 다음 코드 행에 붙여넣고 Enter 키를 누릅니다.

npm install --global --production windows-build-tools

파이썬 설치 프로그램을 here 다운로드하지 않으시겠습니까? 경로 설치를 확인하면 작업을 수행 할 수 있습니다.





npm