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




windows build tools python path (12)

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

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

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

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

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 설치가 누락 된 것 같습니다. 글쎄, 파이썬을 설치하고, 변수를 설정하고, 재부팅했다가 여전히 오류가 발생했다.

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



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


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


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

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

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. PATH 변수에 C:\Python27\ 을 추가하십시오 (이 디렉토리에 Python이 설치되어 있다고 가정하십시오)
    PATH env 변수를 설정하는 방법 : http://www.computerhope.com/issues/ch000549.htm
    변수를 설정 한 후 콘솔 및 / 또는 Windows를 다시 시작하십시오.

  2. 위와 동일한 절 ( "환경 변수")에서 PYTHON 이라는 이름의 새 변수와 C:\Python27\python.exe 값을 추가합니다 C:\Python27\python.exe
    변수를 설정 한 후 콘솔 및 / 또는 Windows를 다시 시작하십시오.

  3. 관리 모드에서 Windows 명령 줄 ( cmd ) 엽니 다.
    디렉토리를 Python 설치 경로로 변경하십시오. cd C:\Python27
    일부 설치시 symlink가 필요합니다. mklink python2.7.exe python.exe

node-gyp 기반 설치를 실행하려면 3.x가 아닌 Python 2.x가 있어야 합니다.

아래의 텍스트는 Unix에 관한 것이지만 Windows 버전에는 Python 2.x가 필요합니다.

You can install with npm:

$ npm install -g node-gyp
You will also need to install:

On Unix:
python (v2.7 recommended, v3.x.x is not supported)
make
A proper C/C++ compiler toolchain, like GCC

이 문서는 또한 도움이 될 수 있습니다 : https://github.com/nodejs/node-gyp#installation


다음은 관리자로서 명령 줄에서 나를 위해 일했습니다 :

windows-build-tools 설치 (15-20 분 소요) :

 npm --add-python-to-path='true' --debug install --global windows-build-tools

환경 변수 추가 / 업데이트 :

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

node-gyp 설치 :

npm install --global node-gyp

exe 파일의 이름을 Python에서 Python2.7로 변경.

C:\Users\username\.windows-build-tools\python27\Python2.7

npm install module_name --save


모든 노드 - 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> 다시 적용하십시오.


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

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

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

이게 도움이 되길 바란다.


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

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

그리고 그게 다야!



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

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

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




npm