Активировать virtualenv в Makefile

Как активировать virtualenv в Makefile?

Я пробовал:

venv:
    @virtualenv venv

active:
    @source venv/bin/activate

И я также пробовал:

active:
    @. venv/bin/activate

и не активирует virtualenv.

Ответ 1

Здесь, как это сделать:

Вы можете выполнить команду оболочки в Makefile, используя();

например.

echoTarget: 
    (echo "I'm an echo")

Просто не забудьте поставить символ табуляции перед каждой строкой в ​​команде оболочки. то есть вам понадобится вкладка раньше (эхо "я эхо" )

Здесь будет работать для активации virtualenv:

activate:
    ( \
       source path/to/virtualenv/activate; \
       pip install -r requirements.txt; \
    )

Ответ 2

Makefiles не может активировать среду напрямую. Вот что сработало для меня:

activate:
    bash -c "venv/bin/activate"

Если вы получили ошибку об отказе в разрешении, сделайте исполняемый файл venv/bin/activ:

chmod +x venv/bin/activate