Nano Hash - криптовалюты, майнинг, программирование

Как установить lessc и nodejs в виртуальную среду Python?

Я хотел бы установить скрипт nodejs (lessc) в файл virtualenv.

Как я могу это сделать ?

Спасибо

Натим


  • Можете ли вы дать нам некоторые фактические указатели: что такое lessc и где его можно найти? Также я не понимаю, как сочетаются virtualenv и node.js: virtualenv предназначен для Python, тогда как node.js - это платформа на основе JavaScript. 24.01.2012
  • lessc : lesscss.org — Virtualenv предназначен для среды Python и предоставляет некоторые исполняемые файлы в среде, я хотел бы установить lessc в этой среде. 24.01.2012

Ответы:


1

Мне нравится короткий ответ, он рекомендовал использовать nodeenv, см.: существует ли виртуальный среда для node.js?

Я следовал этому руководству: http://calvinx.com/2013/07/11/python-virtualenv-with-node-environment-via-nodeenv/

Все, что мне нужно было сделать самому, это:

. ../bin/activate # switch to my Python virtualenv first
pip install nodeenv # then install nodeenv (nodeenv==0.7.1 was installed)
nodeenv --python-virtualenv # Use current python virtualenv
npm install -g less # install lessc in the virtualenv
23.11.2013

2

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

Установите nodejs

wget http://nodejs.org/dist/v0.6.8/node-v0.6.8.tar.gz
tar zxf node-v0.6.8.tar.gz
cd node-v0.6.8/
./configure --prefix=/absolute/path/to/the/virtualenv/
make
make install

Установите npm (диспетчер пакетов узла)

/absolute/path/to/the/virtualenv/bin/activate
curl https://npmjs.org/install.sh | sh

Установите lesscss

npm install less -g

Когда вы активируете свой virtualenv, вы можете использовать lessc

24.01.2012
  • npm не создает символическую ссылку? 29.01.2012
  • с sudo npm install less -g двоичным файлом, установленным в /usr/local/bin/lessc 30.01.2012

  • 3

    Я создал сценарий bash для автоматизации решения Natim.

    Убедитесь, что ваш Python virtualenv активен, и просто запустите скрипт. NodeJS, NPM и lessc будут загружены и установлены в вашу виртуальную среду.

    http://pastebin.com/wKLWgatq

    #!/bin/sh
    #
    # This script will download NodeJS, NPM and lessc, and install them into you Python
    # virtualenv.
    #
    # Based on a post by Natim:
    # http://stackoverflow.com/questions/8986709/how-to-install-lessc-and-nodejs-in-a-python-virtualenv
    
    NODEJS="http://nodejs.org/dist/v0.8.3/node-v0.8.3.tar.gz"
    
    # Check dependencies
    for dep in gcc wget curl tar make; do
        which $dep > /dev/null || (echo "ERROR: $dep not found"; exit 10)
    done
    
    # Must be run from virtual env
    if [ "$VIRTUAL_ENV" = "" ]; then
        echo "ERROR: you must activate the virtualenv first!"
        exit 1
    fi
    
    echo "1) Installing nodejs in current virtual env"
    echo
    
    cd "$VIRTUAL_ENV"
    
    # Create temp dir
    if [ ! -d "tmp" ]; then
        mkdir tmp
    fi
    cd tmp || (echo "ERROR: entering tmp directory failed"; exit 4)
    
    echo -n "- Entered temp dir: "
    pwd
    
    # Download
    fname=`basename "$NODEJS"`
    if [ -f "$fname" ]; then
        echo "- $fname already exists, not downloading"
    else
        echo "- Downloading $NODEJS"
        wget "$NODEJS" || (echo "ERROR: download failed"; exit 2)
    fi
    
    echo "- Extracting"
    tar -xvzf "$fname" || (echo "ERROR: tar failed"; exit 3)
    cd `basename "$fname" .tar.gz` || (echo "ERROR: entering source directory failed"; exit 4)
    
    echo "- Configure"
    ./configure --prefix="$VIRTUAL_ENV" || (echo "ERROR: configure failed"; exit 5)
    
    echo "- Make"
    make || (echo "ERROR: build failed"; exit 6)
    
    echo "- Install "
    make install || (echo "ERROR: install failed"; exit 7)
    
    
    echo
    echo "2) Installing npm"
    echo
    curl https://npmjs.org/install.sh | sh || (echo "ERROR: install failed"; exit 7)
    
    echo
    echo "3) Installing lessc with npm"
    echo
    npm install less -g || (echo "ERROR: lessc install failed"; exit 8)
    
    echo "Congratulations! lessc is now installed in your virtualenv"
    
    23.07.2012
  • Если вы используете сборку, вы можете взглянуть на pypi.python.org/pypi/rubygemsrecipe 15.10.2013
  • Я создал версию на Python:Загрузить и установить nodejs в текущей виртуальной среде Python 05.01.2015

  • 4

    Я предоставлю свое общее решение для работы с Gems и NPM внутри виртуальной поддержки Gems и Npm, которую можно настроить с помощью настроек env: GEM_HOME и npm_config_prefix

    Вы можете вставить приведенный ниже фрагмент в свой скрипт postactivate или activate (более важно, используете ли вы virtualenvwrapper или нет)

    export GEM_HOME="$VIRTUAL_ENV/lib/gems"
    export GEM_PATH=""
    PATH="$GEM_HOME/bin:$PATH"
    export npm_config_prefix=$VIRTUAL_ENV
    export PATH
    

    Теперь внутри вашего виртуального окружения все библиотеки, установленные через gem install или npm -g install, будут установлены в вашем виртуальном окружении, а двоичный файл будет добавлен в ваш PATH.

    Это решение не распространяется на установку nodejs внутри virtualenv, но я думаю, что лучше делегировать эту задачу системе упаковки (apt, yum, brew..) и установить node и npm глобально.

    Редактировать :

    Недавно я создал 2 плагина для virtualenvwrapper, чтобы делать это автоматически. Есть один для gem и npm :

    http://pypi.python.org/pypi/virtualenvwrapper.npm

    http://pypi.python.org/pypi/virtualenvwrapper.gem

    04.05.2012
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..