Запуск 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 запустился

→ Ссылка