PDA

Показать полную графическую версию : Запуск *.bat в текущем окне cmd


Scorp0390
23-10-2015, 07:09
Всем доброго времени суток!

Вводная:
1) учусь работать с виртуальным окружением в питоне
2) хочу сделать cmd/bat-файл, который активирует окружение (подхватывая созданый самим питоном скрипт activate.bat) и потом в него же дописывает комманды на исполнение уже для виртуального окружения(например, обновление какого-либо компонента или просто вывод комманд)

Структура папок:
Диск D:
--test_env
----Scripts
------activate.bat
----остальные файлы/папки виртуального окружения
----activate_and_check.cmd (мой файл)

Суть проблемы:
при вызове из тела activate_and_check.cmd коммандами типа:
1) start D:\test_env\Scripts\activate.bat - открывается новое окно в котом уже меняеться окружение
2) call D:\test_env\Scripts\activate.bat - ничего нового не открывается, в текущем коммандном окне окружение не меняется


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


start D:\test_env\Scripts\activate.bat
python -c "import django; print(django.get_version())"
CMD /Q /K


В текущем виде, комманда python -c "import django; print(django.get_version())" выполняется вызывая системны питон, а не установленный в виртуальном окружении
Вариант вызова напрямую типа: D:\test_env\Scripts\python.exe -c "import django; print(django.get_version())" не рассматриваю, потому. что потом нужно будет вызывать pip install *** --upgrade.

Подскажите, как поступить?




© OSzone.net 2001-2012