Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Запуск *.bat в текущем окне cmd (http://forum.oszone.net/showthread.php?t=306999)

Scorp0390 23-10-2015 07:09 2567234

Запуск *.bat в текущем окне cmd
 
Всем доброго времени суток!

Вводная:
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.

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


Время: 05:32.

Время: 05:32.
© OSzone.net 2001-