Указание версии Python при установке пакета через NPM

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Чтобы задать определённую версию Python при установке через NPM, определите переменную окружения PYTHON перед выполнением команды npm install:

sh
Скопировать код
export PYTHON=python3.7  # замените 'python3.7' на требуемую версию
npm install

Если вы используете версию Node.js 4.0.0 или более новую, можно использовать опцию --python при выполнении npm install:

sh
Скопировать код
npm install --python=python3.7  # замените 'python3.7' на нужную версию

Важно, чтобы выбранная версия Python (python3.7) соответствовала той, которую вы намереваетесь использовать.

Кинга Идем в IT: пошаговый план для смены профессии

Задание версии Python по умолчанию для NPM

Если нужно постоянно использовать одну и ту же версию Python при работе с npm, можно настроить глобальный путь к интерпретатору Python с помощью config set:

sh
Скопировать код
npm config set python /path/to/python  # указывается актуальный путь до интерпретатора Python

Таким образом, выбранная версия Python будет автоматически использоваться при любых операциях с пакетами npm, и вам не придётся каждый раз устанавливать её вручную.

Использование менеджеров версий

При необходимости частой смены версий Python рекомендуется использовать менеджеры версий. pyenv в Unix или встроенный модуль venv в Python помогут локализовать версию Python для каждого проекта, создавая изолированные среды.

Поддержка node-gyp

При использовании node-gyp, инструмента npm для сборки нативных модулей, критически важно использовать подходящую версию Python:

sh
Скопировать код
npm config set python /path/to/python

Не забудьте проверить совместимость версии Python с node-gyp, чтобы предотвратить возможные сложности при компиляции.

Визуализация

В каждой версии Python как бы заключён свой собственный художник, а npm — это галерея, где произведения выставляются:

Художник (Python)Выставка (Установка NPM)
Python 2.7🚫 Художник не допущен!
Python 3.6✅ Любимец публики!
Python 3.9✅ Событие дня!

Выбирайте правильного художника для создания вашего шедевра:

Python
Скопировать код
# Художник проходит контроль (задаём переменную окружения)
export PATH=/path/to/python3.9:$PATH

Тогда подходящий художник будет работать с NPM.

🎨🖌️🖼️

Раньше: хаос среди художников. Теперь: Python 3.9 – звезда вечера.

Работа с несколькими версиями Python

Управление несколькими версиями Python может вызвать замешательство, но есть решение:

  • Используйте алиасы или символические ссылки для удобной смены версий Python.
  • Добавьте требуемую версию Python в PATH перед запуском npm.
  • Используйте виртуальные среды, чтобы избегать конфликтов зависимостей.

Работа на Windows

На Windows для переключения между версиями Python можно использовать batch-файлы или команды PowerShell:

powershell
Скопировать код
$env:PYTHON='C:\Python37\python.exe'
npm install

Эта команда как бы чародейством изменяет окружение, обеспечивая правильную настройку системы.

Устранение возникших трудностей при установке npm

Если при работе с npm появляются проблемы и он продолжает использовать системную версию Python, рекомендуется:

  • Проверить текущую настройку пути к Python через npm config get python.
  • Если нужно временно работать с Python 2.7, создание символической ссылки может решить проблему.
  • Указывать используемую версию Python непосредственно перед каждой командой npm, чтобы избежать конфликтов версий.

Полезные материалы

  1. Bower: ENOGIT Git не установлен или не в рабочем пути PATH – Stack Overflow
  2. package.json | Документация npm
  3. GitHub – coreybutler/nvm-windows: Инструмент управления версиями Node.js для Windows
  4. Установка модулей Python — документация Python 3.9.2
  5. GitHub – pyenv/pyenv: Удобное управление версиями Python
  6. GitHub – nodejs/node-gyp: Инструмент сборки нативных добавок для Node.js
  7. config | Документация npm