«Не удается найти исполняемый файл Python …» – npm install зависает

Я использую «npm install» для загрузки и компиляции всех зависимостей небольшого приложения node.js, которое я написал. Файл «package.json», который я использую, является правильным и содержит всю необходимую информацию.

Один из пакетов, которые нужно установить, имеет «node-gyp» в качестве зависимости, поэтому я ранее установил пакет «python2».

Теперь, в определенный момент, я начинаю получать сообщения об ошибках:

> node-gyp rebuild gyp ERR! configure error gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. gyp ERR! stack at failNoPython (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:103:14) gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:42:11 gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:40:25) gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:43:29) gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:54:16 gyp ERR! stack at FSReqWrap.oncomplete (fs.js:99:15) gyp ERR! System Linux 3.18.9-200.fc21.x86_64 gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /srv/visitor/node_modules/phantom/node_modules/dnode/node_modules/weak gyp ERR! node -v v0.12.1 gyp ERR! node-gyp -v v1.0.3 gyp ERR! not ok npm WARN optional dep failed, continuing weak@0.3.4 

Похоже, что проблема связана с отсутствием переменной окружения.

Может кто-то указать мне верное направление? Независимо от того, где я ищу в Интернете, нет упоминания о переменной «PYTHON», только «PYTHONPATH» и тому подобное. Каков правильный способ исправить это, чтобы я не получил эти ошибки?

ОБНОВЛЕНИЕ 1:

Следуя советам из этого потока, я добавил эти команды перед выполнением «npm install»:

 PYTHON=/usr/sbin/python2 export PYTHON 

Теперь я получаю эту ошибку:

 > node-gyp rebuild gyp ERR! build error gyp ERR! stack Error: not found: make gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:40:28) gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:43:29) gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:54:16 gyp ERR! stack at FSReqWrap.oncomplete (fs.js:99:15) gyp ERR! System Linux 3.18.9-200.fc21.x86_64 gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /srv/visitor/node_modules/phantom/node_modules/dnode/node_modules/weak gyp ERR! node -v v0.12.1 gyp ERR! node-gyp -v v1.0.3 gyp ERR! not ok npm WARN optional dep failed, continuing weak@0.3.4 

Я считаю абсурдным, что он говорит: «… не найдено: make …». Есть ли такая возможность? Если да, то почему пакеты устанавливаются правильно?

Честно говоря, я ничего не понимаю. Есть идеи?

4 Solutions collect form web for “«Не удается найти исполняемый файл Python …» – npm install зависает”

Попробуйте запустить этот

 PYTHON=$PYTHON:/usr/bin/python export PYTHON 

Добавьте это в файл профиля (например, ~/.bash_profile и т. Д. В зависимости от вашей оболочки), чтобы сделать его постоянным.

Если ваш python не установлен в /usr/bin/python вы можете запустить, which python определить, где он установлен.

Прежде всего: я хочу поблагодарить всех, кто поставил меня, чтобы помочь мне с моей проблемой, и особенно @adarsh.

Теперь реальная проблема заключалась в том, что мне не хватало «make» и «gcc». Сначала, когда сообщение компилятора предложило так, я счел это абсурдным. Но имейте в виду, что это изображение PULLed из реестра Docker.

Я добавил «pacman -S –needed –noconfirm make gcc» в свой файл Docker, и процесс сборки завершается успешно.

Разумеется, мне также необходимо внести предлагаемые изменения в переменные среды.

Это сработало для меня ..

 node-gyp --python C:\Users\username\.windows-build-tools\python27\python.exe build 

Нам нужно указать python.exe не только на папку установки.

В CMD

если локальный на диске: npm install express-generator

 #npm install express-generator -g #express --ejs . 

выбрать да

 #y 
  • Возвратный список загрузчика объекта scrapy
  • Ошибка: Сломанная труба
  • Сделать syscall в Python
  • Воспроизвести mp3-файл, не используя устройство вывода по умолчанию (воспроизведение) в Python
  • Ошибка: тип объекта «Ключи» не имеет атрибута «chord»
  • Связывание / захват ключа Python
  • Python 2.7.2: plistlib с itunes xml
  • Вычисление числовых различий для каждой группы в пандах
  • Выполнение Python из php
  • Как обновить индикатор выполнения в цикле?
  • Регулярное выражение для включения и исключения определенных IP-адресов
  • Python - лучший язык программирования в мире.