Запуск python файла через bat-ник с подключением библиотек
Мой проект был написан в Pycharm, а следовательно виртуальное пространство было создано автоматический (vevn). Основной рабочий файл main.py, а библиотеки, которые я использую PyQt5 и requests.
Я накидал такой код в bat-нике:
@echo off
%~dp0vevn\Scripts\activate.bat
python %~dp0main.py
%~dp0vevn\Scripts\deactivate.bat
В теории он должен был работать. активирую виртуалку по абсолютному пути, запускаю main.py, и после деактивирую виртуалку.
После запуска от имени админа, на мгновение открывается консоль, но ничего не происходит. Через pause, понял, что строка python %~dp0main.py не работает.
Вопрос: почему и как это исправить?
Ответы (1 шт):
Чтобы сработало Ваше решение, необходимо вызывать bat файл через call. Простой запуск bat файла - создаётся свой контекст:
@echo off
call %~dp0vevn\Scripts\activate.bat
python %~dp0main.py
call %~dp0vevn\Scripts\deactivate.bat
Вывод для моего случая:
Microsoft Windows [Version 10.0.19044.2251] (c) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
C:\Projects\QT\taskWinUI>b.bat
C:\Projects\QT\taskWinUI>echo C:\Projects\QT\taskWinUI
C:\Projects\QT\taskWinUI\
C:\Projects\QT\taskWinUI>call C:\Projects\QT\taskWinUI\Scripts\activate.bat
Being destroyed
(taskWinUI) C:\Projects\QT\taskWinUI>
^^^^^^^^- указывет нам, что venv запустился