Звонки после звонка в пакете Windows не отображаются

Звонки после звонка в пакете Windows не отображаются

У меня есть такой пакетный файл для создания и активации виртуальной среды Python и установки некоторых пакетов.

создать.bat:

mkdir "%CD%\.venv"
python -m venv .venv
call .venv\Scripts\activate
python -m pip install --upgrade pip

Третья строка — это пакетный файл, запущенный с помощью команды вызова пакета. Вот что я получаю:

E:\test>create.bat

E:\test>mkdir "E:\test\.venv"

E:\test>python -m venv .venv

E:\test>call .venv\Scripts\activate
Collecting pip
  Using cached https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 19.0.3
    Uninstalling pip-19.0.3:
      Successfully uninstalled pip-19.0.3
Successfully installed pip-20.0.2

Однако, как вы можете видеть, при запуске последней строки я не вижу типичного текста подсказки, который ожидал:

...
(.venv) E:\test\> python -m pip install --upgrade pip

Он просто выводит вывод оставшихся операций. Обычно это не было бы проблемой, но одна из задач позже — скрипт Python, который запрашивает ввод, но все игнорируется и запускается без запроса.

Для справки я добавляю вывод, если я ввожу команды вручную одну за другой:

E:\test>mkdir "%CD%\.venv"

E:\test>python -m venv .venv

E:\test>call .venv\Scripts\activate

(.venv) E:\test>python -m pip install --upgrade pip
Collecting pip
  Using cached https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 19.0.3
    Uninstalling pip-19.0.3:
      Successfully uninstalled pip-19.0.3
Successfully installed pip-20.0.2

решение1

Я сам нашел ответ. Я не думал об этом слишком много, так как пакетный скрипт, который я вызвал, был автоматически сгенерированным скриптом из Python. Но он включал строку

@echo off

в начале. Эта команда, конечно, была все еще активна, когда она снова вернулась к моему скрипту. Решено путем переписывания скрипта на:

mkdir "%CD%\.venv"
python -m venv .venv
call .venv\Scripts\activate
@echo on
python -m pip install --upgrade pip

Связанный контент